我怎样才能改变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));