openplanning

Hướng dẫn và ví dụ JavaFX ScrollPane

Xem thêm các chuyên mục:

Nhóm phát triển của chúng tôi vừa ra mắt website langlearning.net học tiếng Anh, Nga, Đức, Pháp, Việt, Trung, Hàn, Nhật, ... miễn phí cho tất cả mọi người.
Là một website được viết trên công nghệ web Flutter vì vậy hỗ trợ rất tốt cho người học, kể cả những người học khó tính nhất.
Hiện tại website đang tiếp tục được cập nhập nội dung cho phong phú và đầy đủ hơn. Mong các bạn nghé thăm và ủng hộ website mới của chúng tôi.
Hãy theo dõi chúng tôi trên Fanpage để nhận được thông báo mỗi khi có bài viết mới. Facebook

1- JavaFx ScrollPane

ScrollPane là một thành phần giao diện có thể cuộn được (scrollable), nó được sử dụng để hiển thị một nội dung lớn trong một không gian bị giới hạn. Nó có các thanh kéo (sroll bar) nằm ngang và thẳng đứng.
Chính sách ScrollBar
Bạn có thể sét đặt chính sách hiển thị cho thanh kéo (Scroll bar):
  • NEVER - Không bao giờ hiển thị
  • ALWAYS - Luôn luôn hiển thị
  • AS_NEEDED - Hiển thị khi cần.
** ScrollBarPolicy **


// Sét đặt thanh cuộn nằm ngang luôn luôn hiển thị
scrollPane.setHbarPolicy(ScrollBarPolicy.ALWAYS);

// Sét đặt thanh cuộn thẳng đứng không bao giờ hiển thị
scrollPane.setVbarPolicy(ScrollBarPolicy.NEVER);
 

2- Ví dụ với ScrollPane

ScrollPaneDemo1.java

package org.o7planning.javafx.scrollpane;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.ScrollPane.ScrollBarPolicy;
import javafx.stage.Stage;

public class ScrollPaneDemo1 extends Application {

   @Override
   public void start(Stage primaryStage) {
 
       // Tạo một ScrollPane
       ScrollPane scrollPane = new ScrollPane();

       Button button = new Button("My Button");
       button.setPrefSize(400, 300);
 
       // Sét đặt nội dung nằm trong ScrollPane.
       scrollPane.setContent(button);
 
       // Luôn luôn hiển thị thanh kéo thẳng đứng
       scrollPane.setVbarPolicy(ScrollBarPolicy.ALWAYS);
     
       // Thanh kéo ngang chỉ hiển thị khi cần
       scrollPane.setHbarPolicy(ScrollBarPolicy.AS_NEEDED);

       primaryStage.setTitle("ScrollPane Demo 1 (o7planning.org)");
       Scene scene = new Scene(scrollPane, 550, 200);
       primaryStage.setScene(scene);
       primaryStage.show();
   }

   public static void main(String[] args) {
       launch(args);
   }
}
Chạy ví dụ:

3- Ví dụ với ScrollPane và Pannable

ScrollPaneDemo2.java

package org.o7planning.javafx.scrollpane;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ScrollPane;
import javafx.scene.layout.FlowPane;
import javafx.stage.Stage;

public class ScrollPaneDemo2 extends Application {
   
    @Override
    public void start(Stage primaryStage) {
 
        final FlowPane container = new FlowPane();
       
        // Button 1
        Button button1= new Button("Button 1");
        button1.setPrefSize(350, 100);
       
        container.getChildren().add(button1);
       
        // Button 2
        Button button2= new Button("Button 2");
        button2.setPrefSize(245, 220);
       
        container.getChildren().add(button2);
     
        // ScrollPane
        ScrollPane scrollPane = new ScrollPane();
        scrollPane.setContent(container);
       
        // Pannable.
        scrollPane.setPannable(true);
     

        primaryStage.setTitle("ScrollPane Demo 2 (o7planning.org)");
        Scene scene = new Scene(scrollPane, 550, 200);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}
Chạy ví dụ:

Xem thêm các chuyên mục:

Có thể bạn quan tâm

Đây là các khóa học trực tuyến bên ngoài website o7planning mà chúng tôi giới thiệu, nó có thể bao gồm các khóa học miễn phí hoặc giảm giá.