2011-02-21 13 views
2

私はJavaでプログラムを作成します。インタラクティブクイックソートシミュレータです。まず、ソートする整数の数を入力する必要があります。次へを押すと、最初に入力した番号に応じた番号のテキストフィールドが表示されます。 15を入力すると、15のテキストフィールドが入力されます。 20を置くと、20のテキストフィールドが表示されます。 nextを押すと、それらの値は1番目の場所の番号と同じ大きさの配列に格納されます。私の問題があるループを使用してJTextFieldsから値を取得する

、テキストフィールド(すなわち。jtextfield15にjtextfield0)と値が配列に格納するテキストフィールドをフローム得るために名前を付ける必要があり、それは

a[0] = jtextfield0.getValue(); 
a[1] = jtextfield1.getValue(); 

などのようにする必要がありに。このように、それは非常に強烈で柔軟性がありません。

これを処理するにはどうすればよいですか?

答えて

1

あなたはArrayListにあなたのテキストフィールドを追加し、このArrayList上でループを実行する可能性がありますArrayListにのJTextFieldの配列を追加するためにあなたのケースで

List<JTextField> textFields = new ArrayList<JTextField>(); 
... 
//add your textfields to arraylist 
... 
for(int i = 0;i< textFields.size(); i++){ 
    fields[i] = textFields.get(i).getValue(); 
} 
+0

アドバイスありがとう、私はそれを試してみます。 – AnuBeazh

+0

大変ありがとう!! – AnuBeazh

+0

しかし、JTextFieldsをarraylistに手動で追加する必要があります。なぜなら、異なるJTextFieldsには異なる変数名(つまり、jTextField1、jTextField2など)があるからです。とにかくループを使ってそれを行うには? – AnuBeazh

1

オブジェクトのarrayまたはList<T>を作成できます。オブジェクトの

アレイ:

JTextField fields[]=new JTextField[15]; 

for(int i=0;i<fields.length;i++) 
{ 
    fields[i]=new JTextField(5); 
} 
0

textFields.addAll(Arrays.asList(a));

+0

申し訳ありませんが、質問は1年以上前に尋ねられましたが、 –

関連する問題