17

JComboBox の矢印にカスタム イメージを使用したいとします。

シンセxmlファイル、またはUIManager.put(...)を使用して可能であることは理解していますが、方法がわかりません。現時点でやりたいことは、プログラムによって、または使用する画像を上書きするだけで、矢印の画像を別のものに変更することだけです。どうすれば正確にこれを行うことができますか?

4

1 に答える 1

23

createArrowButton()でオーバーライドできますBasicComboBoxUIBasicArrowButton便利な出発点です。

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));
于 2010-06-09T18:11:33.690 に答える