JAVA中出现严重的null错误信息ArrayIndexOutOfBoundsException:-1

来源:百度知道 编辑:UC知道 时间:2024/05/26 09:20:41
代码如下:一个按钮的事件,搜索数据库,查找到ID传参给另外一个窗口
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
try {
DateAccess da = new DateAccess();
String id = jTable5.getValueAt(jTable5.getSelectedRow(), 0).toString();
ResultSet rs = da.ExecuteQuery("SELECT STABLE FROM STARTTABLE WHERE STID='"+id+"'");
if (rs.next()) {
String name = rs.getString(1);
if (name != null) {
addCai framea = new addCai(name);
framea.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
framea.setVisible(true);
}else{
JOptionPane.showMessageDialog(this, "请选择一个包厢!","错误",JOptionPane.ERROR_MESSAGE);
}
}
} catch (Exception ex) {
Logger.getLogger(MainApplication.c

是这样的:
你这个按钮应该随时都可以用吧?
所以如果用户没有在jTable5中作任何选择
jTable5.getSelectedRow()方法会返回-1(看看帮助文档把)

DefaultTableModel的内部实现使用一个Vector作为动态数组,
所以当你使用-1作为jTable5.getValueAt()的参数,隐含的
调用了Vector.elementAt(-1) 所以会抛出一个“数组越界”
异常。

恩,一起研究Java qq:412475540

String id = jTable5.getValueAt(jTable5.getSelectedRow(), 0).toString();
数组下表越位,看看jTable5.getSelectedRow()返回的是从0开始还是1开始计数的。

addCai framea = new addCai(name); 这里面有特别的代码没,贴出来看看

数组越界了,你把addCai类的那个构造方法给贴出来看看

非法索引访问数组,应该是再方法addCai中出现的异常。

数组越界```