JComboBox の矢印にカスタム イメージを使用したいとします。
シンセxmlファイル、またはUIManager.put(...)を使用して可能であることは理解していますが、方法がわかりません。現時点でやりたいことは、プログラムによって、または使用する画像を上書きするだけで、矢印の画像を別のものに変更することだけです。どうすれば正確にこれを行うことができますか?
JComboBox の矢印にカスタム イメージを使用したいとします。
シンセxmlファイル、またはUIManager.put(...)を使用して可能であることは理解していますが、方法がわかりません。現時点でやりたいことは、プログラムによって、または使用する画像を上書きするだけで、矢印の画像を別のものに変更することだけです。どうすれば正確にこれを行うことができますか?
createArrowButton()
でオーバーライドできますBasicComboBoxUI
。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));