【发布时间】:2011-03-01 19:24:48
【问题描述】:
假设我想为 JComboBox 中的箭头使用自定义图像,我该怎么做?
我知道可以使用合成器 xml 文件,甚至 UIManager.put(...),但我不知道如何。此时我想做的就是将箭头图像更改为其他内容,以编程方式或什至只是覆盖它使用的图像。我该怎么做?
【问题讨论】:
标签: java swing look-and-feel jcombobox synth
假设我想为 JComboBox 中的箭头使用自定义图像,我该怎么做?
我知道可以使用合成器 xml 文件,甚至 UIManager.put(...),但我不知道如何。此时我想做的就是将箭头图像更改为其他内容,以编程方式或什至只是覆盖它使用的图像。我该怎么做?
【问题讨论】:
标签: java swing look-and-feel jcombobox synth
您可以在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));
【讨论】: