Hướng dẫn và ví dụ JavaFX ColorPicker
Xem thêm các chuyên mục:

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.


JavaFX ColorPicker là một thành phần giao diện giúp người dùng lựa chọn mầu sắt trong một tập hợp có sẵn, hoặc thiết lập các mầu bổ xung bằng cách kết hợp RGB hoặc HSB.

Cửa sổ tùy biến Color giúp thiết lập bổ xung thêm các mầu sắc.

Dưới đây là các thành phần của ColorPicker:

Hộp chọn mầu tùy biến (Custom Color Dialog window)

Color Chooser (Trình chọn mầu)
Trình chọn mầu (Color Chooser) trông giống như một MenuButton, khi người dùng nhấn vào trình chọn mầu một bảng mầu (Palette) sẽ hiển thị cho phép người dùng chọn mầu. Bạn có thể sét đặt Style cho phép trình chọn mầu có giao diện giống với SplitMenuButton. Chú ý rằng trình chọn mầu không phải là một MenuButton hay SplitMenuButton nó chỉ giống về giao diện.

// Sét đặt để nút trình chọn mầu có giao diện giống SplitMenuButton
colorPicker.getStyleClass().add("split-button");
// Sét đặt để nút trình chọn mầu có giao diện giống MenuButton
colorPicker.getStyleClass().add("button");
Xem thêm về MenuButton & SplitMenuButton:

ColorPickerDemo.java
package org.o7planning.javafx.colorpicker;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.ColorPicker;
import javafx.scene.layout.FlowPane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;
public class ColorPickerDemo extends Application {
@Override
public void start(Stage stage) {
final ColorPicker colorPicker = new ColorPicker();
colorPicker.setValue(Color.RED);
final Circle circle = new Circle(50);
circle.setFill(colorPicker.getValue());
colorPicker.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
circle.setFill(colorPicker.getValue());
}
});
FlowPane root = new FlowPane();
root.setPadding(new Insets(10));
root.setHgap(10);
root.getChildren().addAll(circle, colorPicker);
Scene scene = new Scene(root, 400, 300);
stage.setTitle("JavaFX ColorPicker (o7planning.org)");
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}