我怎样才能改变JComboBox中的箭头样式

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

我知道这是可能的使用合成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)); 
Interesting Posts