Hướng dẫn sử dụng JavaFX Slider

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

1- JavaFX Slider

Slider (Thanh trượt) là một thành phần giao diện cho phép bạn lựa chọn một giá trị số nằm trong một khoảng giá trị. Slider bao gồm một thanh (track) và một cần gạt có thể kéo (draggable thumb). Nó cũng có thể có các que đánh dấu (tick mark) và nhãn.
Block increment: Là giá trị tăng hoặc giảm khi bạn nhấn nút mũi tên sang trái hoặc sang phải để di chuyển cần gạt (thumb).

2- Ví dụ JavaFX Slider

SliderDemo.java
package org.o7planning.javafx.slider;

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.Slider;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class SliderDemo extends Application {

   @Override
   public void start(Stage stage) {

       Label label = new Label("Select Brightness:");

       Slider slider = new Slider();
 
       // Giá trị nhỏ nhất.
       slider.setMin(0);
       
 
       // Giá trị lớn nhất.        
       slider.setMax(100);
       
 
       // Giá trị hiện thời.
       slider.setValue(80);
       
       slider.setShowTickLabels(true);
       slider.setShowTickMarks(true);
       
       slider.setBlockIncrement(10);

       VBox root = new VBox();
       root.setPadding(new Insets(20));
       root.setSpacing(10);
       root.getChildren().addAll(label, slider);

       stage.setTitle("Slider (o7planning.org)");
       Scene scene = new Scene(root, 350, 200);
       stage.setScene(scene);
       stage.show();
   }

   public static void main(String[] args) {
       Application.launch(args);
   }

}

3- Slider ChangeListener

SliderChangeListenerDemo.java
package org.o7planning.javafx.slider;

import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.Slider;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.stage.Stage;

public class SliderChangeListenerDemo extends Application {

	@Override
	public void start(Stage stage) {

		Label label = new Label("Select Brightness:");

		Label infoLabel = new Label("-");
		infoLabel.setTextFill(Color.BLUE);

		Slider slider = new Slider();

		slider.setMin(0);
		slider.setMax(100);
		slider.setValue(80);

		slider.setShowTickLabels(true);
		slider.setShowTickMarks(true);

		slider.setBlockIncrement(10);

		// Thêm Listener vào value property.
		slider.valueProperty().addListener(new ChangeListener<Number>() {

			@Override
			public void changed(ObservableValue<? extends Number> observable, //
					Number oldValue, Number newValue) {

				infoLabel.setText("New value: " + newValue);
			}
		});

		VBox root = new VBox();
		root.setPadding(new Insets(20));
		root.setSpacing(10);
		root.getChildren().addAll(label, slider, infoLabel);

		stage.setTitle("JavaFX Slider (o7planning.org)");
		Scene scene = new Scene(root, 350, 200);
		stage.setScene(scene);
		stage.show();
	}

	public static void main(String[] args) {
		Application.launch(args);
	}

}
Chạy ví dụ:

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