我尝试设置以下日历的样式,以便TableColumn
标题为粉红色,当它们所属的日期不属于当月(即3月26日 - 3月31日和5月1日 - 5月第29次):
我像这样扩展TableView
:
public class DayTableView extends TableView<Appointment> {
private static PseudoClass OFF_MONTH_PSEUDO_CLASS = PseudoClass.getPseudoClass("off-month");
public DayTableView() {
getStyleClass().add("day-table-view");
}
private BooleanProperty offMonth = new BooleanPropertyBase(false) {
public void invalidated() {
pseudoClassStateChanged(OFF_MONTH_PSEUDO_CLASS, get());
}
@Override
public Object getBean() {
return this;
}
@Override
public String getName() {
return "off-month";
}
};
public void setOffMonth(boolean b) {
offMonth.set(b);
}
}
并添加了这个样式:
.day-table-view {
-fx-font-size: 9 px;
-fx-background-color: lightcyan;
}
.day-table-view:off-month {
-fx-font-size: 9 px;
-fx-background-color: pink;
}
但结果就是这样:
所以我尝试了这样的样式:
.day-table-view .table-column {
-fx-font-size: 9 px;
-fx-background-color: lightcyan;
}
.day-table-view .table-column:off-month {
-fx-font-size: 9 px;
-fx-background-color: pink;
}
但TableColumn
仅以浅青色格式化(它看起来就像第一张日历图像。
所以我尝试了这种造型:
.day-table-view .table-column {
-fx-font-size: 9 px;
-fx-background-color: lightcyan;
}
.day-table-view:off-month .table-column {
-fx-font-size: 9 px;
-fx-background-color: pink;
}
除非我只希望TableColumn
标题更改颜色,而不是TableColumn
s的背景:
所以我试着改为TableColumn
:
但是你可以看到没有pseudoClassStateChanged
方法。所以我想知道我需要做些什么才能使TableColumn
标题发生变化?
答案 0 :(得分:0)