CSS Selectors是JavaFX setStyle()方法

时间:2015-04-23 11:40:36

标签: css listview javafx styling

可以选择绑定CSS文件以向JavaFX组件添加样式。 但我想在代码中动态更改一些属性。 有一个setStyle()方法,但没有足够的文档可供使用。

我想从setStyle()方法而不是.css文件更改悬停颜色。

以下是.css文件的代码

.list-cell:filled:hover 
{
   -fx-background-color: #0093ff;
   -fx-text-fill: white; 
}

JavaFX ListView

我想动态地改变setStyle()方法中的悬停颜色:

noteListView.setStyle(
                    ":filled:hover{" +
                    "-fx-background-color: #65ffb0;" +
                    "-fx-text-fill: white;" +
                    "}");

但这不起作用。任何帮助表示赞赏。感谢。

1 个答案:

答案 0 :(得分:0)

为什么不尝试这样的东西,我用它来改变从桌面视图中选择的图表上特定系列的颜色。

table.getSelectionModel().selectedIndexProperty().addListener( (observable, oldValue, newValue) -> changeId(oldValue, newValue));


    public void changeId(Number oldV, Number newV){
    	if(oldV.intValue() != -1){
    		lineChart.getData().get(oldV.intValue()).getNode().setId("serie-unselect");
    	}
    	if(newV.intValue() != -1){
    		lineChart.getData().get(newV.intValue()).getNode().setId("serie-select");
    	}
    }

然后在css文件中,添加#serie-select {}和#serie-unselect {}以及更好的选项。