JavaFX是否有颜色渐变编辑器控件?
对于可以将噪波函数(-1到1个值)映射到颜色的编辑器,我需要一些控件来定义颜色渐变,例如 价值 -0是黑色的 -0.3是黄色的 -0.8是红色的 -1是白色的 所以整个渐变从黑色变为白色,这是可编辑的, JavaFX中是否内置了类似的东西,或者我是否必须编写自己的控件 基本上是这样的:JavaFX是否有颜色渐变编辑器控件?,javafx,Javafx,对于可以将噪波函数(-1到1个值)映射到颜色的编辑器,我需要一些控件来定义颜色渐变,例如 价值 -0是黑色的 -0.3是黄色的 -0.8是红色的 -1是白色的 所以整个渐变从黑色变为白色,这是可编辑的, JavaFX中是否内置了类似的东西,或者我是否必须编写自己的控件 基本上是这样的: 提前谢谢我想你正在寻找一个合适的人选 有关如何使用它的详细信息已打开。实际上,场景生成器有一个功能强大的渐变编辑器,允许插入多个停止点: 该控件称为PaintPicker,它是场景生成器工具包的一部分,您可
提前谢谢我想你正在寻找一个合适的人选
有关如何使用它的详细信息已打开。实际上,场景生成器有一个功能强大的渐变编辑器,允许插入多个停止点: 该控件称为
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%)
我需要多个颜色每个梯度,这是我的问题,与颜色选择器,我只能选择一个颜色我不明白。控件的图片显示的东西与颜色选择器非常相似。不,它有多个拇指,因此可以定义渐变从红色到黄色再到黑色再到白色或类似的颜色。你不能在自定义颜色对话框窗口中执行相同的操作吗?