openplanning

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

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 ColorPicker

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:

2- Ví dụ với ColorPicker

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);
    }

}

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