如何在GUI中向数组添加值

时间:2014-03-21 01:18:26

标签: java arrays user-interface

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

//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();

现在,当我在GUI中执行此操作时,我感到难过,这一直是我一段时间以来一直困惑的原因。我已经阅读了oracle教程,一些java书籍,但还没有点击过。    如何将我的逻辑从在控制台中工作转移到GUI中工作?

2 个答案:

答案 0 :(得分:1)

建议:

  1. 考虑使用一个JTextFields数组(什么是JTextBox?),比如称为textFields。
  2. 为你的gui提供一个初始化为0的int索引变量。
  3. 当用户在输入字段中输入数字并按下正确的按钮时,通过getText()从输入的JTextField获取文本,将其放入本地String变量中,
  4. 然后将该变量传递给textFields数组的setText(text)索引项的textFields[index].setTexzt(text)方法。
  5. 增加索引变量index++
  6. 注意:为什么不简单地让用户将所有数字 直接 输入到textFields数组的每个JTextField中,然后让他们在完成后按下评估JButton?为什么尝试自己填充JTextFields状态是你的目标?这对我来说似乎是一种祸害。

答案 1 :(得分:1)

只有一个JTextField作为主要用户输入。旁边有一个JButton作为“添加”机制。

点击添加后,将值添加到JList。不要过分关注数组,因为它只是妨碍你。您可以管理JList的模型,以确定何时您需要/想要的数字限制(如果您需要/想要的话)。

有关详细信息,请参阅How to Use Lists