как вы меняете цветовую схему базового ComboBoxUI? - PullRequest
0 голосов
/ 14 февраля 2012

Как изменить цветовую схему базового интерфейса ComboBox? Я попробовал следующее: 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 голосов
/ 14 февраля 2012

Очень странно, но когда я ставлю Weapon CB.setUI (новый 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);
            }
        });
...