当我单击一个按钮(例如 mainBtn),然后在 MealList 中选择一个字符串,然后单击另一个按钮(例如 starterBtn)时,控制台中会抛出错误。如果有人可以将我推向正确的方向并告诉我为什么代码会抛出错误消息,我将不胜感激。
public void updateLabel(menulist model) {
int selectionNumber = mealList.getSelectedIndex();
if (selectionNumber == -1){
} else {
Food menulist = (Food) mealList.getSelectedValue();
Food itemFood = (Food) ((menulist) model).getElementAt(selectionNumber);
错误信息
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.Vector.elementData(Vector.java:734)
at java.util.Vector.elementAt(Vector.java:477)
at javax.swing.DefaultListModel.getElementAt(DefaultListModel.java:89)
at MenuPage.updateLabel(MenuPage.java:317)
最佳答案
您正在调用无效索引,每当您选择该项目时,您都不能建立您选择的索引值,因此,由于按钮的释放,该按钮将注册为-1,您希望拥有ActionEvent 中包含的选项的索引值
关于java - 当我点击 ListModel 时抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36518210/