可以选择绑定CSS文件以向JavaFX组件添加样式。 但我想在代码中动态更改一些属性。 有一个setStyle()方法,但没有足够的文档可供使用。
我想从setStyle()方法而不是.css文件更改悬停颜色。
以下是.css文件的代码
.list-cell:filled:hover
{
-fx-background-color: #0093ff;
-fx-text-fill: white;
}
我想动态地改变setStyle()方法中的悬停颜色:
noteListView.setStyle(
":filled:hover{" +
"-fx-background-color: #65ffb0;" +
"-fx-text-fill: white;" +
"}");
但这不起作用。任何帮助表示赞赏。感谢。
答案 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 {}以及更好的选项。