将特定背景颜色添加到JDaychooser日期

时间:2013-04-26 10:36:00

标签: java swing jcalendar

我开发了一个Java Swing应用程序..

如何设置特定JDayChooser日期的背景颜色?

由于

3 个答案:

答案 0 :(得分:2)

<强> getDayPanel

public javax.swing.JPanel getDayPanel()

这将返回日期面板。之后,您可以:

panel.setBackground(color);  

此外:

<强> setForeground

public void setForeground(java.awt.Color foreground)

设置foregroundColor颜色。

<强> setDecorationBackgroundColor

public void setDecorationBackgroundColor(java.awt.Color decorationBackgroundColor)

设置年份按钮的天数和周数的背景。

答案 1 :(得分:1)

JDayChooser有一个protected字段,指定selectedColor,但它没有公共接口。你可以,

  • 更改JDayChooser#init()

  • 中的默认灰色
  • 添加所需的方法;新绑定属性将显示在JCalendarDemo

    public Color getSelectedColor() {
        return selectedColor;
    }
    
    public void setSelectedColor(Color selectedColor) {
        this.selectedColor = selectedColor;
    }
    

正如所讨论的那样heresetBackground()在一些Look&amp; amp;感觉实现。 DecoratorButton#paint()中的解决方法就是一个例子。

答案 2 :(得分:1)

    JPanel jPanel = jDayChooser1.getDayPanel();

    Component component[] = jPanel.getComponents();

    for (int i = 7; i < 49; i++) {
        component[i].setBackground(Color.red);
    }

最后得到了一个解决方案:D