7

I have generated a GUI from netbeans in which I have placed a combobox too.

By default, the items in combobox are item1, item2, item3, item4.

But I want my own items. Netbeans doesn't allow editing generated code so how can i edit the comnbobox according to me.

Note: I know one method by editing the "model" property of that jComboBox but I don't want to do it like that because I want various items (which are in an array) in that jComboBox so I want to pass that array in that jComboBox like as follows:

jComboBox2 = new javax.swing.JComboBox();

String [] date = new String[31];
for(int i = 0; i < 31; i++) {
    date[i] = i + 1;
}

jComboBox2.setModel(new javax.swing.DefaultComboBoxModel(date));
4

6 に答える 6

7

私が知っている2つのアプローチがあります:

  1. シンプルなアプローチ - コンストラクターで を呼び出した後、initComponents()コードを追加してモデルを構築し、jComboBox2.setModel(myModel)それを設定するために呼び出します。したがって、コンストラクタは次のようになります。

    public SomeClass() {
        initComponents();
        String [] date = new String[31];
        for(int i = 0; i < 31; i++) {
            date[i] = i + 1;
        }
        jComboBox2.setModel(new javax.swing.DefaultComboBoxModel(date));
    }
    
  2. 複雑なアプローチ - 目的のモデルを保持する読み取り可能なプロパティを追加します。例えば:

    private ComboBoxModel getComboBoxModel()
    {
        String[] items = {"Item A", "Item B", "Item C"};
        return new DefaultComboBoxModel(items);
    }
    

    次に、jComboBox2 プロパティ シートで、ボタンをクリックしてモデルを編集します。

    エディタ パネルで、ドロップダウンを からCombo Box Model Editorに変更しValue from existing componentます。

    を選択しPropertyます。コンボ ボックス モデル プロパティを選択します。[OK] をクリックします。

2番目の方法を一度試しました。本当に二度と使用しませんでした。仕事が多すぎて、実際にはあまり得られません。さらに、デザイナーに空のコンボ ボックスが表示され、レイアウトが難しくなります。

最初のアプローチを使用し、さらに NetBean のモデル エディタを使用して、モデルの代表的な値をいくつか指定します。これにより、デザイナーで適切なサイズの動作が得られますが、不要な行が 1 行必要になりinitComments()ます。

于 2009-10-28T16:36:25.903 に答える
3

Netbeans NEON およびその他の netbeans バージョンの使用

1.コンボボックスのプロパティに移動します

ここに画像の説明を入力

2. 次に、モデルに移動します

ここに画像の説明を入力

于 2016-09-25T16:53:33.000 に答える
2

コンボボックスの「モデル」の GUI エディターで「カスタム コード」機能を使用して、コードを挿入できます。

于 2009-10-09T14:01:42.707 に答える
1
public NewJFrame() {
        initComponents();
        reformatComboBox();
  }

private void reformatComboBox() {
        JComboBoxName.removeAllItems();
        JComboBoxName.addItem("item1");
        JComboBoxName.addItem("item2");
}
于 2016-12-15T10:43:36.267 に答える