如何在Java中更改JMonthChooser的BackGround

时间:2014-03-06 15:53:33

标签: java swing background jcalendar jdatechooser

我在这里使用JMonthChooser和JYearChooser。那么如何改变JMonthChooser和JYearChooser的BackGround有什么想法。怎么做。

我正在使用Netbeans。enter image description here

2 个答案:

答案 0 :(得分:0)

我假设您使用toedter's JCalendar,可以添加到NetBeans'palette。

在这种情况下,您必须为白色背景进行3次,对于其他背景颜色进行2次(在这种情况下,下面列表的第3个点无效)。

  1. 获取JCombobox(Java组件)。您必须将其强制转换为JComboBox,因为方法getComboBox()会返回java.awt.Component

    javax.swing.JComboBox box = (javax.swing.JComboBox) monthChooser.getComboBox();
    
  2. 修改JComboBox的渲染器以更改列表的背景(更多示例here)。

    box.setRenderer(new javax.swing.DefaultListCellRenderer() {
         @Override
         public void paint(java.awt.Graphics g) {
             setBackground(new java.awt.Color(255, 255, 255));
             setForeground(java.awt.Color.BLACK);
             super.paint(g);
         }
     });
    
  3. 设置“折叠列表”(已选择)背景(仅限白色)

    box.setOpaque(false);
    
  4. 希望有所帮助。

答案 1 :(得分:0)

实际上,JCalender由多个组件组成。
因此,如果要更改背景或前景,则必须先遍历它的所有不同子组件,然后更改每个背景的颜色。

就我而言:

X322138128