我有一个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中工作?
答案 0 :(得分:1)
建议:
getText()
从输入的JTextField获取文本,将其放入本地String变量中,setText(text)
索引项的textFields[index].setTexzt(text)
方法。index++
。注意:为什么不简单地让用户将所有数字 直接 输入到textFields数组的每个JTextField中,然后让他们在完成后按下评估JButton?为什么尝试自己填充JTextFields状态是你的目标?这对我来说似乎是一种祸害。
答案 1 :(得分:1)
只有一个JTextField
作为主要用户输入。旁边有一个JButton
作为“添加”机制。
点击添加后,将值添加到JList
。不要过分关注数组,因为它只是妨碍你。您可以管理JList
的模型,以确定何时您需要/想要的数字限制(如果您需要/想要的话)。
有关详细信息,请参阅How to Use Lists