2011-07-26 17 views
-1

はJTextField、JComboboxのようにJComponentを動的に生成していますか?私が試みるのは仕事..ですが、グローバル変数として宣言しているアドオンしかできません。とにかく実行時に変数名を変更するのが好きですか?ランタイム中に動的にJComponentを生成

+2

この質問は私には意味がありません。動的に生成されたコンポーネントは、「変数名の変更」と何が関係していますか? –

答えて

2

動的に生成するすべてのコンポーネントに一意名を割り当てることはできません。

テキストフィールドを定義するときに、それらをリスト(または他のデータ構造)に追加する必要があります。次に、リストからテキストフィールドに個別にアクセスできます。

List<JTextField> textFields = new ArrayList<JTextField>(); 

for (int i = 0; i < 10; i++) 
{ 
    JTextField textField = new JTextField(); 
    textFields.add(textField); 
    somePanel.add(textField); 
} 

somePanel.revalidate(); 
+0

hmm.iはこれまでにこの方法を試しましたが、結果は同じです.1つのテキストフィールド、jcombobo、チェックボックスに一度だけ追加できます。 –

+1

あなたのコードは間違っています。問題を示す[SSCCE](http://sscce.org)を投稿してください。 – camickr

+0

私はこのコードをメソッドに入れて、生成された新しいコンポーネントの位置が可視領域の外にある場合のために、親のフレームから 'pack()'を呼び出すことにしました – mastaH

関連する問題