2011-01-16 15 views
1

私は10個の値を持つ配列を別のクラスに持っています。 この配列の値をコンボボックスに追加します。 これは可能ですか? おかげコンボボックスに配列の内容を追加

+0

参照:http://download.oracle.com/javase/tutorial/uiswing/components/combobox.html – trashgod

答えて

1

確か:

Object[] yourArray = otherClass.getMyArray(); 
JComboBox box = new JComboBox (yourArray); 

カスタムクラスを使用しているので、もしこれは、コンボボックスに表示する値を取得するためにObject.toString()を呼び出しますが、それはtoString()メソッドをオーバーライドすることを確認してください。

編集:

Netbeansでこれを行う方法はいくつかあります。ここには1つの方法があります。プロパティエディタ

    1. クリック編集
    2. コンボボックスのモデルpropert:フォームデザイナで

      private ComboBoxModel getComboModel (OtherClass myOtherClass) 
      { 
          return new DefaultComboBoxModel (myOtherClass.getMyArray()); 
      } 
      

      そして:どこかの形で、このようなメソッドを持っています既存のコンポーネントからの値ドロップダウン

    3. を選択してください。ラジオボタンを選択して選択してくださいgetComboModel()

    他にも多くの方法がありますが、これはあなたのような単純なケースでは機能します。一般的に、Netbeansをフレンドリーにするには、ComboBoxModelのインスタンスを返し、Netbeansをポイントするメソッドをどこかに用意する必要があります。

  • +0

    このコードはどこにありますか?初期化の部分で? – sark9012

    +0

    これはどこに行く必要があります。ところで、あなたはNetBeansでコーディングしていませんか? –

    +0

    私は彼がそうだと思います。それを行うにはいくつかの方法があります - 私はこれを反映するために私の答えを更新しました。 –

    1

    はい。一般的にはあなたが行うことができます。

    JComboBox b = new JComboBox(new String[]{"String1","String2"});

    すなわち配列を経由して初期化するコンストラクタがあります。
    したがって、配列に含まれるオブジェクトのtoString()をオーバーライドするだけです(String型でない場合)。

    関連する問題