Java 如何在GUI中向数组添加值
我有一个GUI,它的顶部有一个输入值字段,带有一个向数组添加值的按钮。数组以10个标记为0-9的空JTextBox的形式位于其下方。当用户在“值”文本框中输入一个数字并单击“添加”时,该数字将被放入下面的文本字段中。填充数组后,我将找到最小值和最大值。 我对排序、查找最小值、查找最大值背后的逻辑没有问题,但我对加载数组背后的逻辑感到很困难,我尝试使用了两种不同的策略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
//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中工作?建议:
getText()
从输入JTextField获取文本,将其放入本地字符串变量中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中显示值的方式进行设计当按下增值按钮时。我同意这有点笨拙,但这是要求。我认为这也是让我如此困扰的原因。