如何在单个jPanel中设置多个文本字段的变量

时间:2016-09-07 15:50:50

标签: java swing

这里有全新的编码器。我一直在寻找,但似乎无法找到关于如何从jPanel中的一行文本框设置多个变量以便稍后用于算法函数的主题。在这种情况下,我需要5个唯一变量供以后使用。任何设置这些变量的帮助都将受到高度赞赏。这是我设置文本字段和收集用户输入的代码:

 import java.util.Scanner;
 import javax.swing.*; //Used to create JPanel

 public class SimpleMath {
     public static void main(String[] args) { //Setup text boxes
         JTextField aField = new JTextField(5);
         JTextField bField = new JTextField(5);
         JTextField cField = new JTextField(5);
         JTextField dField = new JTextField(5);
         JTextField eField = new JTextField(5);

         //Creating JPanel
         JPanel myPanel = new JPanel();
         myPanel.add(new JLabel("1:"));
         myPanel.add(aField);
         myPanel.add(Box.createHorizontalStrut(15)); //a spacer
         myPanel.add(new JLabel("2:"));
         myPanel.add(bField);
         myPanel.add(Box.createHorizontalStrut(15));
         myPanel.add(new JLabel("3:"));
         myPanel.add(cField);
         myPanel.add(Box.createHorizontalStrut(15));
         myPanel.add(new JLabel("4:"));
         myPanel.add(dField);
         myPanel.add(Box.createHorizontalStrut(15));
         myPanel.add(new JLabel("5:"));
         myPanel.add(eField);

         //Gathering data
         int result = JOptionPane.showConfirmDialog(null, myPanel, "Please enter 5 integers", JOptionPane.OK_CANCEL_OPTION);
         if (result == JOptionPane.OK_OPTION) {
             System.out.println("value 1: " + aField.getText());
             System.out.println("value 2: " + bField.getText());
             System.out.println("value 3: " + cField.getText());
             System.out.println("value 4: " + dField.getText());
             System.out.println("value 5: " + eField.getText());

             Scanner input = new Scanner(System.in);
         }
     }
 }

1 个答案:

答案 0 :(得分:2)

您将所有内容都放入静态main方法,并尝试创建一个有机可行且复杂的Java程序,这根本不起作用。您需要停止正在进行的操作并首先学习Java基础知识,包括如何创建和使用实例字段以及非静态方法。如果正确创建,这些字段将可用于程序其他部分的变异。获得一本体面的书或教程,并在进行GUI编程之前开始学习第一原则 - 你不会后悔这样做。