betacode

Руководство JavaFX ColorPicker

  1. JavaFX ColorPicker
  2. Пример с ColorPicker

1. JavaFX ColorPicker

JavaFX ColorPicker это компонент интерфейса помогающий пользователю выбрать цвет в готовом наборе, или настроить дополнительные цвета комбинируя RGB или HSB.
Окно кастомизации Color помогает вам настроить дополнительные цвета.
Далее являются компонентами ColorPicker:
Окно кастомизированного диалога выбора цвета (Custom Color Dialog window)
Color Chooser (Программа выбора цвета)
Программа выбор цвета (Color Chooser) похожа на MenuButton, когда пользователь нажимает на диалог выбора цвета, палет цветов (Palette) отобразится, позволяя пользователю выбрать цвет. Вы можете настроить Style позволяющий диалогу выбора цвета иметь похожий интерфейс с SplitMenuButton. Заметьте, что диалог выбора цвета не является MenuButton или SplitMenuButton а только похож интерфейсом.
// Sets color-chooser button interface similar SplitMenuButton
colorPicker.getStyleClass().add("split-button");

// Sets color-chooser button interface similar MenuButton
colorPicker.getStyleClass().add("button");
Смотрите так же MenuButton & SplitMenuButton:

2. Пример с 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);
    }

}

Руководства JavaFX

Show More