gpt4 book ai didi

java - 帮助实现 JComboBox[] Listener

转载 作者:行者123 更新时间:2023-11-29 08:13:44 24 4
gpt4 key购买 nike

1) 在以下方法 (actionListener) 中,用户从 JComboBox 中选择一个等级(例如 A-F)。

2) 有多个 JComboBox,每个选择都存储在一个 String[] 数组中。

问题:这是一个难题,如果用户返回并更改从随机 JComboBox 做出的选择,则先前的成绩选择不会在数组中被替换,但是所做的新选择会存储在下一个数组索引中。

如何让程序替换之前的年级选择而不只是添加新的选择?

相关变量:

int counter;
private JComboBox[] gradeField;
//grade.userGrades[] is array of grades taken from selected combo boxes

Action Listener匿名类:

gradeField[counter].addActionListener(new ActionListener () {
@Override
public void actionPerformed(ActionEvent e) {
Object holder = e.getSource();
JComboBox tempGradeBox = (JComboBox)holder;
String theGrade = (String)tempGradeBox.getSelectedItem();
grade.userGrades[grade.getNext()] = theGrade;
grade.updateNext();
}
});

在此先感谢您的帮助。

最佳答案

I save the grade in an array and increment the index,

好吧,你不应该递增索引。这假定用户按顺序从组合框中选择等级。正如您所发现的,用户通常可以随机工作。

相反,您需要知道哪个组合框已更改,然后更新数组中的相应条目。

或者一个不同的解决方案可能是在最后更新你的数组。所以也许你有一个“处理结果”按钮。然后您可以依次循环遍历所有组合框以获取所选值。

关于java - 帮助实现 JComboBox[] Listener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6154819/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com