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

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

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

谢谢

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) 

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

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

  • JDayChooser#init()更改默认灰色。

  • 添加所需的方法; 新绑定属性将出现在JCalendarDemo

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

正如这里所讨论的, setBackground()在一些Look&Feel实现上读得不好。 DecoratorButton#paint()的解决方法就是一个例子。

  JPanel jPanel = jDayChooser1.getDayPanel(); Component component[] = jPanel.getComponents(); for (int i = 7; i < 49; i++) { component[i].setBackground(Color.red); } 

终于得到了一个解决方案:D