2

私はSwingを使用しており、JPanelにJComboBoxを追加しています。通常、JComboBoxをクリックすると、可能なオプションが垂直方向に列挙されます(他のWebサイトのコンボボックスと同様)。

ただし、ComboBoxを水平方向に拡張したいのですが、カスタムレンダラーを作成せずにこれを行う方法はありますか?

垂直方向の拡張

[ ComboBox ]

- Option
- Option
- Option

水平方向の拡張

[ ComboBox ] -- [ Option | Option | Option | Option ]
4

1 に答える 1

1

あなたの質問に対する答えは「いいえ」だと確信しています。これを行うには、レンダラーの少なくとも一部を作成する必要があります。しかし、ここからが始まりです。

//Override the createPopup method - everything else can stay the same
public static CustomRenderer extends MetalComboBoxUI{
    @Override
    protected ComboPopup createPopup() {
        // Do something different here
        ComboPopup result = super.createPopup();
        return result;
    }
}

そして、このUIを、使用に適用するComboBoxにインストールする必要があります。box.setUI(new CustomRenderer());

于 2012-10-12T18:43:21.260 に答える