你如何改变basicComboBoxUI的配色方案?

时间:2012-02-14 10:14:31

标签: swing jcombobox uimanager

如何更改基本ComboBox UI的配色方案?我试过的是:setForeGround,setBackground,setOpaque(true),setOpaque(false)setBorder。但这些都不起作用。

我现在的代码是:

    weaponCB.setBounds(27,250,150,30);
    weaponCB.setUI(new BasicComboBoxUI());
    weaponCB.setForeground(Color.white);
    weaponCB.setBackground(Color.black);
    weaponCB.setBorder(whiteBorder);
    weaponCB.setFont(new Font("Trajan Pro", Font.BOLD, 15));
    lP.add(weaponCB, new Integer(2));

出现的是:

enter image description here

但我真正想要的是下拉部分(白色区域)看起来像显示器,(黑色区域带有“LANCE”白色)即背景为黑色,边框为白色,以及字样是白色的。如果这是可能的,你告诉我如何,这对我来说将是一个很大的帮助。感谢。

1 个答案:

答案 0 :(得分:0)

很奇怪,但是当我把weaponCB.setUI(new BasicComboBoxUI());在setBackground和setForeground以及setBorder下,组合框按预期工作。只显示边框。

    weaponCB.setBounds(27,250,150,30);
    weaponCB.setForeground(Color.white);
    weaponCB.setBackground(Color.black);
    weaponCB.setBorder(whiteBorder);
    weaponCB.setFont(new Font("Trajan Pro", Font.BOLD, 15));
    lP.add(weaponCB, new Integer(2));
    weaponCB.setUI(new BasicComboBoxUI());

enter image description here

另一件有用的事情是:

@Override
            public void paint(Graphics g) {
                setBackground(Color.black);
                setForeground(Color.white);
                super.paint(g);
            }
        });