0

私のプログラムは、周回したい質量の数を入力するようにユーザーに促すことから始まります

public class textEvent1 implements ActionListener {    //action listener for "how many masses?"
        public void actionPerformed (ActionEvent e) {
            n = (int)(Double.parseDouble(massNumField.getText()));


            submit1.setVisible(false);          //removes text event 1 text from screen
            massNumLabel.setVisible(false);
            massNumField.setVisible(false);

次に、その情報を使用して、その数のラベルとテキスト フィールドを次のように作成します。

for(int i=1; i<=n; i++) {                                  //adds text event 2 text to the screen
                    massLabel = new JLabel("How much mass does Mass " +i+ " have? ");
                    massField = new JTextField(5);

                    xCorLabel = new JLabel("What is mass "+i+"'s starting x-coordinate?");
                    xCorField = new JTextField(5);

                    yCorLabel = new JLabel("what is mass "+i+"'s starting y-coordinate?");
                    yCorField = new JTextField(5);

                    xVelLabel = new JLabel("What is mass "+i+"'s starting x velocity?");
                    xVelField = new JTextField(5);

                    yVelLabel = new JLabel("What is mass "+i+"'s starting y velocity?");
                    yVelField = new JTextField(5);

                    add(massLabel);
                    add(massField);

                    add(xCorLabel);
                    add(xCorField);

                    add(yCorLabel);
                    add(yCorField);

                    add(xVelLabel);
                    add(xVelField);

                    add(yVelLabel);
                    add(yVelField);
                }

今私の問題は、別のアクションリストナー (送信ボタン) を使用してこれらのテキスト フィールドから読み取り、配列に入力された値を割り当てることです。質量がいくつあるか分からないので、テキストフィールドがいくつあるか分からず、各テキストフィールドは本質的に同じ名前を持っています.テキストフィールドが他のすべてのテキスト フィールド

4

1 に答える 1

0

List<JTextField>必要なデータごとに使用します。

したがって、クラスにインスタンス変数を追加します。

List<JTextField> masses, xCors, yCors, xVels, yVels;

それらを初期化し (ArrayLists はおそらくここでは問題なく動作します)、actionPerformedJTextFields を作成するメソッドで、それらを 1 つずつ Lists に追加します。

for (int i = 1; i <= n; i++) {
    massLabel = new JLabel("How much mass does mass " +i+ " have? ");
    massField = new JTextField(5);
    masses.add(massField);

    /* .. initialize all other fields similarly, adding them to the Lists */

テキスト フィールドから値を読み取る/テキスト フィールドに値を割り当てる場合は、 を使用してリストからアクセスできますmasses.get(i)

于 2013-09-16T23:14:07.920 に答える