ColorPicker中TextField中的字体颜色

时间:2017-08-10 21:40:28

标签: java javafx

我正在构建一个涉及JavaFX中TextAreaTextField的应用程序。我想要包含更改ColorPicker的字体颜色的功能。通过执行以下操作,我能够非常轻松地自定义背景颜色

backgroundColorPicker.setOnAction(event -> {
    Color color = backgroundColorPicker.getValue();
    Background background = new Background(new BackgroundFill(color, CornerRadii.EMPTY, Insets.EMPTY));
    Region region = ( Region ) console.lookup( ".content" );
    region.setBackground(background);
    input.setBackground(background);
});

我如何更改字体颜色?到目前为止我只有

foregroundColorPicker.setOnAction(event -> {
    Color color = foregroundColorPicker.getValue();         
});

我一直无法找到改变字段字体颜色的方法。

1 个答案:

答案 0 :(得分:1)

我能够通过使用颜色值并将其转换为CSS来解决这个问题,然后将CSS应用到字段中。

foregroundColorPicker.setOnAction(event -> {
    Color color = foregroundColorPicker.getValue();
    double red = color.getRed() * 255;
    double green = color.getGreen() * 255;
    double blue = color.getBlue() * 255;
    double alpha = color.getOpacity() * 255;
    String colorString = String.format("-fx-text-fill: rgba(%f,%f,%f,%f) ;", red, green, blue, alpha);
    console.setStyle(colorString) ;
    input.setStyle(colorString);
});