我想在单击按钮后永久更改表视图中选定行的颜色。
我有按钮,并且将其设置为活动状态,因此,单击按钮时,我想更改表视图中选定行的颜色。
答案 0 :(得分:0)
我在表中做了类似的操作,在TableModel中,我具有字段颜色,该字段颜色会保留但不会显示。颜色设置如下:
myTable.setRowFactory(tv -> new TableRow<>() {
@Override
public void updateItem(MyTableRow row, boolean empty) {
super.updateItem(row, empty);
if(row==null) {
setStyle("");
} else if (row.getColor().equals("Grey")) {
setStyle(Theme.REPORT_THEME_GREY);
} else if (row.getColor().equals("Yellow")) {
setStyle(Theme.REPORT_THEME_YELLOW);
} else if (row.getColor().equals("Orange")) {
setStyle(Theme.REPORT_THEME_ORANGE);
} else if (row.getColor().equals("Blue")) {
setStyle(Theme.REPORT_THEME_BLUE);
} else if (row.getColor().equals("Mauve")) {
setStyle(Theme.REPORT_THEME_PURPLE);
} else if (row.getColor().equals("Peach")) {
setStyle(Theme.REPORT_THEME_PEACH);
} else if (row.getColor().equals("White")) {
setStyle(Theme.REPORT_THEME_WHITE);
} else if (row.getColor().equals("Red")) {
setStyle(Theme.REPORT_THEME_RED);
} else if (row.getColor().equals("Green")) {
setStyle(Theme.REPORT_THEME_GREEN);
} else {
setStyle("");
}
}
});
颜色和样式当然会随套件而改变。
我的版本不依赖于按钮,但是只需在模型上为选定的行调用setColor(Color)方法并重绘表即可。