JavaFX是否有颜色渐变编辑器控件?

JavaFX是否有颜色渐变编辑器控件?,javafx,Javafx,对于可以将噪波函数(-1到1个值)映射到颜色的编辑器,我需要一些控件来定义颜色渐变,例如 价值 -0是黑色的 -0.3是黄色的 -0.8是红色的 -1是白色的 所以整个渐变从黑色变为白色,这是可编辑的, JavaFX中是否内置了类似的东西,或者我是否必须编写自己的控件 基本上是这样的: 提前谢谢我想你正在寻找一个合适的人选 有关如何使用它的详细信息已打开。实际上,场景生成器有一个功能强大的渐变编辑器,允许插入多个停止点: 该控件称为PaintPicker,它是场景生成器工具包的一部分,您可

对于可以将噪波函数(-1到1个值)映射到颜色的编辑器,我需要一些控件来定义颜色渐变,例如 价值 -0是黑色的 -0.3是黄色的 -0.8是红色的 -1是白色的 所以整个渐变从黑色变为白色,这是可编辑的, JavaFX中是否内置了类似的东西,或者我是否必须编写自己的控件

基本上是这样的:


提前谢谢

我想你正在寻找一个合适的人选


有关如何使用它的详细信息已打开。

实际上,场景生成器有一个功能强大的渐变编辑器,允许插入多个停止点:

该控件称为
PaintPicker
,它是场景生成器工具包的一部分,您可以从中下载

一旦有了jar,就可以使用组件了

这是一个简短的片段,演示如何轻松地将其添加到场景中:

@Override
public void start(Stage primaryStage) {
    VBox root = new VBox();
    root.setAlignment(Pos.CENTER);
    root.setPadding(new Insets(10));

    PaintPickerController controller;
    final FXMLLoader loader = new FXMLLoader();
    loader.setLocation(PaintPicker.class.getResource("PaintPicker.fxml")); 

    try {
        final VBox picker = loader.load();
        controller = loader.getController();
        controller.paintProperty().addListener((obs, ov, nv) -> System.out.println("Paint: " + nv));
        root.getChildren().add(picker);
    } catch (IOException ex) {
        throw new IllegalStateException(ex);
    }

    Scene scene = new Scene(root, 320, 600);

    primaryStage.setTitle("SceneBuilder PaintPicker");
    primaryStage.setScene(scene);
    primaryStage.show();
}

使用侦听器,您将立即获得渐变:

Paint: linear-gradient(from 60.096% 38.461% to 47.115% 45.192%, 
    reflect, 0xda7777ff 0.0%, 0x226621ff 28.667%, 0xf2ff1cff 49.333%, 
    0xff1c5fff 73.0%, 0xffffffff 100.0%)

我需要多个颜色每个梯度,这是我的问题,与颜色选择器,我只能选择一个颜色我不明白。控件的图片显示的东西与颜色选择器非常相似。不,它有多个拇指,因此可以定义渐变从红色到黄色再到黑色再到白色或类似的颜色。你不能在自定义颜色对话框窗口中执行相同的操作吗?