1

JComboBox のドロップダウンにカスタム イメージを設定する必要があります。(getWidth() をオーバーライドすることにより) 削除することに成功しましたが、矢印をカスタム イメージに置き換えることはできません。より良いアイデアを得るためのコードスニペットを次に示します。どこが間違っているのかわかりませんが、ボタン部分に隆起した部分が表示されています。

    cmbYear = new JComboBox();
    cmbYear.setUI(new BasicComboBoxUI(){
        protected JButton createArrowButton() {
            return new JButton() {
                private static final long serialVersionUID = 1L;
                public void setIcon(Icon defaultIcon) {
                    defaultIcon = new ImageIcon("images/dropdown_icon.png");
                    super.setIcon(defaultIcon);
                }
   //           public int getWidth() {
   //                return 0;
   //            }
            };
        }
    });

ここで私を助けてください。お時間とご提案をいただき、誠にありがとうございました。

4

1 に答える 1

1

代わりに getIcon をオーバーライドできます。必要に応じてアイコンをキャッシュします。

@Override
public Icon getIcon() {
  Icon defaultIcon = new ImageIcon(getClass().getResource("images/dropdown_icon.png"));
  return defaultIcon;
}
于 2012-11-15T17:58:13.363 に答える