请看一下这张照片:
因此,当选择单位并且用户点击“添加先决条件”按钮时,选择的任何单位将被存储到另一个名为“ UnitClass”的类中的临时实例变量中“
将显示一条消息,要求用户选择另一个单位,以便将存储的值传递到单位的先决条件中:
应该发生的事情是,单位商业信息系统简介单元先决条件现在应该是“测试代码”(测试名称的单元代码是测试代码)
该实例变量名为“temp”,数据类型为String。
所以这就是我的尝试: 的 UnitClass
public void storeUnitPrerequ( String a )
{
this.temp = a;
}
public String addUnitPrerequ()
{
this.newUnitPrerequ = temp;
return newUnitPrerequ;
}
GUI类
JOptionPane.showMessageDialog( new JFrame() , "Please select a unit to add prequisite." );
link.storePrerequisite( displayUnitListPane.getSelectedIndex() );
JOptionPane.showMessageDialog( new JFrame() , "Now please select where you want the unit you just selected to be a prequisite" );
displayUnitListPane.clearSelection();
link.addPrerequisite( displayUnitListPane.getSelectedIndex() );
JOptionPane.showMessageDialog(new JFrame(), "Prerequisite Added!");
link.saveUnit();
link.storePrerequisite()
,link.addPrerequisite()
和link.saveUnit()
都来自另一个名为“应用”的控件类
应用类:
public void storePrerequisite( int index )
{
UnitArray.get(index).storeUnitPrerequ( UnitArray.get(index).getUnitCode() );
}
public void addPrerequisite( int index )
{
UnitArray.get(index).setUnitPrerequ( UnitArray.get(index).addUnitPrerequ() );
}
单击此按钮时,我会收到indexoutofbounds错误 - 我知道该错误的含义。但那怎么可能呢?
答案 0 :(得分:1)
在致电displayUnitListPane.clearSelection()
之前,您正在使用link.addPrerequisite
清除选择。这可能就是问题所在。
您可以将选区存储在变量中并使用它。
int selection = displayUnitListPane.getSelectedIndex();
link.storePrerequisite( selection );
JOptionPane.showMessageDialog( frame , "Now please select where you want the unit you just selected to be a prequisite" );
displayUnitListPane.clearSelection();
link.addPrerequisite ( selection );