17

假设我想为 JComboBox 中的箭头使用自定义图像,我该怎么做?

我知道可以使用合成器 xml 文件,甚至 UIManager.put(...),但我不知道如何。此时我想要做的就是将箭头图像更改为其他内容,以编程方式或什至只是覆盖它使用的图像。我该怎么做?

4

1 回答 1

23

您可以createArrowButton()BasicComboBoxUI. BasicArrowButton是一个方便的起点。

class ColorArrowUI extends BasicComboBoxUI {

    public static ComboBoxUI createUI(JComponent c) {
        return new ColorArrowUI();
    }

    @Override protected JButton createArrowButton() {
        return new BasicArrowButton(
            BasicArrowButton.SOUTH,
            Color.cyan, Color.magenta,
            Color.yellow, Color.blue);
    }
}

然后安装它。

JComboBox combo = new JComboBox();
combo.setUI(ColorArrowUI.createUI(combo));
于 2010-06-09T18:11:33.690 回答