Добавьте определенные цвета фона к датам JDaychooser
Я разработал приложение Java Swing..
Как я могу установить цвет фона определенных дат JDayChooser?
Спасибо
3 ответа
Решение
JPanel jPanel = jDayChooser1.getDayPanel();
Component component[] = jPanel.getComponents();
for (int i = 7; i < 49; i++) {
component[i].setBackground(Color.red);
}
Наконец-то получил решение сделать:D
getDayPanel
public javax.swing.JPanel getDayPanel()
Это возвращает дневную панель. После этого вы можете:
panel.setBackground(color);
Также:
setForeground
public void setForeground(java.awt.Color foreground)
Устанавливает цвет переднего плана.
setDecorationBackgroundColor
public void setDecorationBackgroundColor(java.awt.Color decorationBackgroundColor)
Устанавливает фон кнопок дней и недель года.
JDayChooser
имеет protected
поле, которое определяет selectedColor
, но у него нет публичного интерфейса. Вы можете,
Изменить серый по умолчанию, в
JDayChooser#init()
,Добавьте необходимые методы; новое связанное свойство появится в
JCalendarDemo
,public Color getSelectedColor() { return selectedColor; } public void setSelectedColor(Color selectedColor) { this.selectedColor = selectedColor; }
Как обсуждено здесь, setBackground()
плохо читается в некоторых реализациях Look & Feel. Обходной путь в DecoratorButton#paint()
это пример.