У меня есть jTable, заполненный данными из базы данных MySQL. Если пользователь выбирает строку и нажимает кнопку jButton, отображается jDialog, где он / она может редактировать все данные, относящиеся к выбранной строке. Он работает отлично, но IDE выдает сообщение об ошибке, когда нет выбора вообще. Что я могу делать?
Сообщение об ошибке:
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1
Мой код:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
int username = 0;
int un_row = jTable1.getSelectedRow();
String uname = jTable1.getModel().getValueAt(un_row, username).toString();
if (morethanzero()) {
PersonalInfoEdit piedit = new PersonalInfoEdit(null, true, uname, perm);
piedit.setLocationRelativeTo(piedit);
piedit.setVisible(true);
}
}
boolean morethanzero(){
if (model.getRowCount() < 0 || model.getColumnCount() < 0) {
JOptionPane.showMessageDialog(null,"There's no selected user!","Error",JOptionPane.ERROR_MESSAGE);
jTable1.requestFocus();
return false;
}
return true;
}
Заранее спасибо!




Все просто, учтите, если ни одна строка не выбрана. Например,
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
int username = 0;
int un_row = jTable1.getSelectedRow();
if (un_row < 0) {
return; // if no row selected, get out!
}
// .... rest of code here
Вау, это было действительно просто. Большое спасибо!
Не могли бы вы добавить дополнительную информацию об ошибке? Некоторая часть трассировки стека, а не только самая верхняя строка.