是否有可能获得新的颜色'在JavaFx ColorPicker中?

时间:2018-02-24 18:21:58

标签: java events javafx colors color-picker

我试图获得新的颜色'来自ColorPicker的价值(' nouvelle couleur'在我的图片中,因为它是法国人)。

This is what I'm talking about

colorPicker.setOnAction((ActionEvent e) -> {
  text.setFill(colorPicker.getValue());
});

为ColorPicker设置EventHandler时,它只会在关闭时返回ColorPicker的值。

所以我想知道,是否有可能获得这个价值?

对不起,如果有任何错误,英语不是我的母语。

1 个答案:

答案 0 :(得分:2)

是的,每次修改对话框中的选择时,ColorPicker控件中的valueProperty()都会更新。只有取消更改后,才会将其撤消。

所以你只需要为该属性添加一个监听器或根据需要绑定它。

@Override
public void start(Stage primaryStage) {
    ColorPicker picker = new ColorPicker(Color.ALICEBLUE);
    Text text = new Text("Color Picker");
    VBox root = new VBox(10, text, picker);
    root.setAlignment(Pos.CENTER);

    text.fillProperty().bind(picker.valueProperty());

    Scene scene = new Scene(root, 300, 250);

    primaryStage.setTitle("Hello World!");
    primaryStage.setScene(scene);
    primaryStage.show();
}

color picker