如何更改JComboBox中的箭头样式
2022-09-03 01:30:38
假设我想为JComboBox中的箭头使用自定义图像,我该怎么做?
我知道可以使用synth xml文件,甚至可能使用UIManager.put(...),但我不知道如何。我现在想做的就是将箭头图像更改为其他内容,无论是以编程方式还是仅覆盖它使用的图像。我该怎么做?
假设我想为JComboBox中的箭头使用自定义图像,我该怎么做?
我知道可以使用synth xml文件,甚至可能使用UIManager.put(...),但我不知道如何。我现在想做的就是将箭头图像更改为其他内容,无论是以编程方式还是仅覆盖它使用的图像。我该怎么做?
您可以在BasicComboBoxUI
中覆盖。BasicArrowButton
是一个方便的起点。createArrowButton()
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));