0

这里我使用 JMonthChooser 和 JYearChooser。那么如何更改 JMonthChooser 和 JYearChooser 的背景是有什么想法。怎么做。

我正在使用 Netbeans。在此处输入图像描述

4

2 回答 2

0

我假设您使用toedter 的 JCalendar,您可以将其添加到 NetBeans 的调色板中。

在这种情况下,您必须为白色背景制作 3 次,为其他背景颜色制作 2 次(下面列表的第 3 点在这种情况下没有用)。

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

    javax.swing.JComboBox box = (javax.swing.JComboBox) monthChooser.getComboBox();
    
  2. 修改 JComboBox 的 Renderer 以更改列表的背景(此处有更多示例)。

    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. 设置“折叠列表”(选中)背景(仅限WHITE)

    box.setOpaque(false);
    

希望有所帮助。

于 2016-09-29T10:17:23.727 回答
0

实际上,JCalender 由多个组件组成。
所以,如果你想改变它的背景或前景,那么首先你必须遍历它的所有不同的子组件,然后改变每个的背景颜色。

就我而言:

JDateChooser jdatechooser = new JDateChooser();

//to change background color : <br>
for( Component c : jDateChooser1.getComponents()){<br>
    ((JComponent)c).setBackground(Color.YELLOW); // whatever color you want to choose<br>
}
于 2019-11-19T08:59:34.993 回答