我正在研究JXdatepicker,我无法修改不可选日期的红色,
我找到了一个关于它的主题,但它无法“设置以下UIDefaults
属性JXMonthView.unselectableDayForeground
任何帮助,请
答案 0 :(得分:0)
因为我急着回答这个问题
但您可以使用swingx源代码 从这里 https://github.com/cuba-platform/swingx-core/tree/master/src/main/java/org/jdesktop/swingx
然后转到JXDatepicker.java中的函数initMonthview 用这个覆盖它 Color.Black你可以使用自己的颜色。 当你有一个plalab,jlabel文本颜色为白色并且它隐藏了JXdatepicker的背景颜色时,这就解决了这个问题。
private void initMonthView() {
_monthView = new JXMonthView();
// _monthView.setSelectionModel(new SingleDaySelectionModel());
_monthView.setTraversable(true);
_monthView.addPropertyChangeListener(getMonthViewListener());
_monthView.setDayForeground(Calendar.SUNDAY, Color.black);
_monthView.setDayForeground(Calendar.MONDAY, Color.black);
_monthView.setDayForeground(Calendar.TUESDAY, Color.black);
_monthView.setDayForeground(Calendar.WEDNESDAY, Color.black);
_monthView.setDayForeground(Calendar.THURSDAY, Color.black);
_monthView.setDayForeground(Calendar.FRIDAY, Color.black);
_monthView.setDayForeground(Calendar.SATURDAY, Color.black);
}
然后设置你喜欢的颜色然后将它导出为一个有趣的jar。
或者更确切地说,你可以做一件可插拔的外观。或者你可以在JXDatepicker.java中创建一个新的构造函数 它将JXMonthview的对象与特定的颜色集合
表示创建
的对象_monthView = new JXMonthView();
// _monthView.setSelectionModel(new SingleDaySelectionModel());
_monthView.setTraversable(true);
_monthView.addPropertyChangeListener(getMonthViewListener());
_monthView.setDayForeground(Calendar.SUNDAY, Color.black);
_monthView.setDayForeground(Calendar.MONDAY, Color.black);
_monthView.setDayForeground(Calendar.TUESDAY, Color.black);
_monthView.setDayForeground(Calendar.WEDNESDAY, Color.black);
_monthView.setDayForeground(Calendar.THURSDAY, Color.black);
_monthView.setDayForeground(Calendar.FRIDAY, Color.black);
_monthView.setDayForeground(Calendar.SATURDAY, Color.black);
现在添加
创建一个像
这样的新构造函数JXDatepicker(JXMonthView temp){
_monthview = temp;
JXDatepicker();
}
将其导出为jar使用它。