我正在使用JavaFX 8u60。我想让我的用户有机会在不使用外部编辑器的情况下为程序中的窗格编辑CSS文件。

例如,用户单击“标签”,然后显示一个对话框以选择颜色。用户选择颜色后,实际上会将颜色写在CSS文件中的相应行中...

是否有JavaFX的CSS解析器?

我无法向您显示任何Java代码,因为我不确定这可以做到。

 .table-view .column-header .label{
    -fx-font: 18 GatwickSans;
     -fx-text-fill: red; //<--- user shall be able to edit this line from my program
     -fx-alignment: TOP_LEFT;
 }


编辑:澄清一下,我希望能够从Java编辑FX-CSS文件。

最佳答案

您可以使用颜色选择器,请尝试以下示例

Hbox layout =new HBox(10);
ColorPicker colorPicker = new ColorPicker();
colorPicker.setValue(Color.RED);//Red is the default shown at first

Label label =new Label("Your Text");
layout.getChildren().addAll(label,colorPicker);

//Then
colorPicker.setOnAction(event->{
            label.setFill(colorPicker.getValue());
        });


也适用于CSS

colorPicker.setOnAction(event->{
            label.setStyle("-fx-text-fill: "+colorPicker.getValue()+";");
        });

10-06 02:19