Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在GUI中向数组添加值_Java_Arrays_User Interface - Fatal编程技术网

Java 如何在GUI中向数组添加值

Java 如何在GUI中向数组添加值,java,arrays,user-interface,Java,Arrays,User Interface,我有一个GUI,它的顶部有一个输入值字段,带有一个向数组添加值的按钮。数组以10个标记为0-9的空JTextBox的形式位于其下方。当用户在“值”文本框中输入一个数字并单击“添加”时,该数字将被放入下面的文本字段中。填充数组后,我将找到最小值和最大值。 我对排序、查找最小值、查找最大值背后的逻辑没有问题,但我对加载数组背后的逻辑感到很困难,我尝试使用了两种不同的策略 //This is my start of the on_click event for the add button jTex

我有一个GUI,它的顶部有一个输入值字段,带有一个向数组添加值的按钮。数组以10个标记为0-9的空JTextBox的形式位于其下方。当用户在“值”文本框中输入一个数字并单击“添加”时,该数字将被放入下面的文本字段中。填充数组后,我将找到最小值和最大值。 我对排序、查找最小值、查找最大值背后的逻辑没有问题,但我对加载数组背后的逻辑感到很困难,我尝试使用了两种不同的策略

//This is my start of the on_click event for the add button

jTextboxValue.getText();  //I know that this gets me the text from the box
jTextboxvalueArray0.setText();  // I know this is how I set the text in the various boxes
我的问题是,实例化和加载这个数组的最简洁的方法是什么,如果它是一个控制台应用程序,我会这样做:

Scanner input = new Scanner(System.in);

int array[] = new int[10];

System.out.println("Please enter your Values.");

       for (int i = 0 ; i < array.length; i++ ) {
       int next = input.nextInt();
扫描仪输入=新扫描仪(System.in);
int数组[]=新的int[10];
System.out.println(“请输入您的值”);
for(int i=0;i
现在,当谈到在GUI中执行此操作时,我感到很困惑,这对我来说是一个反复出现的困惑源。我已经阅读了oracle教程和几本java书籍,但还没有任何东西。 如何将我的逻辑从在控制台中工作转换为在GUI中工作?

建议:

  • 考虑使用一个JTextFields数组(什么是JTextBox?),比如称为textFields
  • 为gui提供一个初始化为0的int索引变量
  • 当用户在输入字段中输入一个数字并按下正确的按钮时,通过
    getText()
    从输入JTextField获取文本,将其放入本地字符串变量中
  • 然后将该变量传递到textFields数组的索引项的
    setText(text)
    方法中,
    textFields[index].setTexzt(text)
  • 递增索引变量,
    index++

  • 注意:为什么不让用户直接在textFields数组的每个JTextField中输入他们的所有数字,然后让他们在完成后按evaluate按钮?为什么要尝试自己填充JTextFields,因为状态是你的目标?这对我来说似乎有点困难。

    将一个
    JTextField
    作为主字段用户输入。旁边有一个
    JButton
    ,用作“添加”机制

    单击“添加”时,将值添加到
    JList
    列表中。不要过于关注数组,因为它只是在妨碍您。您可以管理
    JList
    的模型,以确定您需要/想要的数量限制(如果需要/想要)


    有关更多详细信息,请参见

    如果我从textfield获取输入并将其存储在字符串变量中,我是否必须在转换为ints并传递到我的数组之前对其进行标记?@Guyute:我说的是有10个JTextFields(同样,不要称它们为JTextBox,因为这种动物不存在,只会让我们感到困惑)。让用户输入他们的号码,然后按下一个按钮。然后您可以遍历JTextField数组(或程序员建议的列表),从每个字段提取文本并将其放入int数组或
    列表
    。如果要运行此程序,请不要尝试将任何内容转换为int。您需要将其解析为int。oops,是的,我的意思是parse not cast,我必须以一个textfield作为输入并在相应的textfields中显示值的方式进行设计当按下增值按钮时。我同意这有点笨拙,但这是要求。我认为这也是让我如此困扰的原因。