質問

私はそれがGUIのコンポーネントはJButtonの、のJPanel、JTextFieldを、すべてが良いもののようであると言って、正しい用語-賢明であると思います。

私は整数になりますテキストフィールドを作成します。そして、送信ボタンを押して、入力された整数値に基づくことができ、ポップアップウィンドウまたは任意で、多くのテキストフィールドを作成します。

私は見当がつかない、誰か私は正しい方向に始めることができる?

私がいるトラブルは、私はGUIコンポーネントを作成するためのforループを作成する方法を見当もつかないということです。私は、forループを持っているとような何かを行う場合、私は意味します:

print("JTextField num1 = new JTextField()");
私は多くをしたいとき

、ループのために、それは1つのだけのテキストフィールドを作成します。どのように私は、一般的のJTextFieldの変数を作成するのですか?

あなたの助けてくれてありがとう...

役に立ちましたか?

解決

あなたのテキストフィールドを作成して追加することが適当でLayoutManager(例えば、GridLayoutの)を使用します。

for (i = 0; i < numberOfTextFields; i++) {
    JTextField textField = new JTextField();
    container.add(textField);
    /* also store textField somewhere else. */
}

他のヒント

このような何かを試してみてください。

List<JTextField> nums = new ArrayList<JTextField>();
JTextField tempField;

for (int i = 0; i < 10; i++) {
    tempField = new JTextField();
    jPanel1.add(tempField); // Assuming all JTextFields are on a JPanel
    nums.add(tempField);
}

コンテナの適切なレイアウトマネージャを設定することを忘れないでください。 (ここでjPanel1)

私は、テキストフィールドを格納するためのリストを作成し、その後、あなたは、インデックスによってそれらを取り戻すことができます。あなたが必要として、あなたはできるだけ多くのフィールドを持つことができます。

List fields = new ArrayList();

// Create as many elements as you need
for (int i = 0; i < numberOfElements; i++){
  JTextField field = new JTextField();
  // Add the fields to some panel so they are shown in the screen.  
  // I assume that the component is called parent panel
  parentPanel.add(field);

  // Store the component in the list so you can retrieve it later
  fields.add(field);
}

// ...

// When you want to retrieve a particular one:

JTextField field = (JTextField)fields.get( indexToRetrieve );
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top