私は10個の値を持つ配列を別のクラスに持っています。 この配列の値をコンボボックスに追加します。 これは可能ですか? おかげコンボボックスに配列の内容を追加
答えて
確か:
Object[] yourArray = otherClass.getMyArray();
JComboBox box = new JComboBox (yourArray);
カスタムクラスを使用しているので、もしこれは、コンボボックスに表示する値を取得するためにObject.toString()
を呼び出しますが、それはtoString()
メソッドをオーバーライドすることを確認してください。
編集:
Netbeansでこれを行う方法はいくつかあります。ここには1つの方法があります。プロパティエディタ
- クリック編集
- コンボボックスのモデルpropert:フォームデザイナで
private ComboBoxModel getComboModel (OtherClass myOtherClass) { return new DefaultComboBoxModel (myOtherClass.getMyArray()); }
そして:どこかの形で、このようなメソッドを持っています既存のコンポーネントからの値ドロップダウン
- を選択してください。ラジオボタンを選択して選択してください
getComboModel()
他にも多くの方法がありますが、これはあなたのような単純なケースでは機能します。一般的に、Netbeansをフレンドリーにするには、ComboBoxModelのインスタンスを返し、Netbeansをポイントするメソッドをどこかに用意する必要があります。
このコードはどこにありますか?初期化の部分で? – sark9012
これはどこに行く必要があります。ところで、あなたはNetBeansでコーディングしていませんか? –
私は彼がそうだと思います。それを行うにはいくつかの方法があります - 私はこれを反映するために私の答えを更新しました。 –
はい。一般的にはあなたが行うことができます。
JComboBox b = new JComboBox(new String[]{"String1","String2"});
すなわち配列を経由して初期化するコンストラクタがあります。
したがって、配列に含まれるオブジェクトのtoString()
をオーバーライドするだけです(String型でない場合)。
- 1. 追加配列
参照:http://download.oracle.com/javase/tutorial/uiswing/components/combobox.html – trashgod