繁体   English   中英

如何更改JComboBox中的箭头样式

[英]How can I change the arrow style in a JComboBox

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

我知道可以使用synth xml文件,甚至可能使用UIManager.put(...),但我不知道如何使用。 我此时想要做的就是将箭头图像更改为其他内容,无论是以编程方式还是仅覆盖其使用的图像。 我怎么能这样做?

您可以在BasicComboBoxUI覆盖createArrowButton() 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));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM