2013-04-10 61 views
0

我工作的JXdatepicker,我不能修改紅色不可選擇的日期,JXdatepicker:編輯不可選擇的日期紅十字會顏色

我發現了一個關於它的話題,但它不工作「設置以下UIDefaults財產JXMonthView.unselectableDayForeground

任何幫助,請

+0

JXDatePicker docs at http://www.jdocs.com/swingx/1.0/org/jdesktop/swingx/JXDatePicker.html – emecas 2013-04-10 13:28:15

+0

hmm ... worksforme,假設您想更改montView中交叉的顏色和它在創建日期選擇器之前設置。你有哪個swingx版本? – kleopatra 2013-04-10 14:02:01

+0

1.6.1! 我使用這個指令來解決它,但它也沒用: UIManager.put(「JXMontView.unselectableDayForeground」,new ColorUIResource(Color.GREEN)); – 2013-04-10 19:41:09

回答

0

,因爲我是在急於回答這個

,但你可以從這裏使用swingx源代碼 https://github.com/cuba-platform/swingx-core/tree/master/src/main/java/org/jdesktop/swingx

然後去功能initMonthview在JXDatepicker.java 這一個 Color.Black您覆蓋它可以使用自己的顏色。 這解決了當您將jlabel文本顏色設置爲白色並使用JXdatepicker的背景顏色隱藏plaf時的問題。

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使用它。

相關問題