java.lang.ArrayIndexOutOfBoundsException: -1...?
807605Jun 11 2007 — edited Jun 12 2007Hi all.
I have problem with seting data into JTable. I use net beans and my JTable is DefaultTableModel and when i put my TableModelListener my ActionListener-s to JButtons doesn't work.
i use this code:
class TML implements TableModelListener {
public void tableChanged(TableModelEvent e){
int row = jTable1.getEditingRow();
int column = jTable1.getEditingColumn();
TableModel model = jTable1.getModel();
if(row!=0 && column!=0){
jTextField1.setText( "row " + row + " column " +
column + " Value: " + model.getValueAt(row, column));
}
}
}
TableModel model = jTable1.getModel();
model.addTableModelListener(new TML());
this works good but when i push one button from my JButtons:
jButton6.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try { // Load the driver
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection c = DriverManager.getConnection
("jdbc:microsoft:sqlserver://localhost:1433;databaseName=niki;User=ektomorf;Password=niki4ko");
Statement s = c.createStatement();
// SQL code:
String sql = "SELECT * FROM events";
ResultSet out = s.executeQuery(sql);
int i=0;
TableModel model = jTable1.getModel();
for(int k=0 ; k<counter ; k++){
model.setValueAt("", k, 0);
model.setValueAt("", k, 1);
model.setValueAt("", k, 2);
model.setValueAt("", k, 3);
model.setValueAt("", k, 4);
}
while(out.next()){
int id = out.getInt("id");
String date = out.getString("date");
String hour = out.getString("hour");
String event = out.getString("event");
model.setValueAt(i+1,i,0);
model.setValueAt(date, i, 1);
model.setValueAt(hour, i, 2);
model.setValueAt(event, i, 3);
model.setValueAt(id, i, 4);
i++;
counter = i;
}
s.close(); // Also closes ResultSet
}catch(Exception ex) {
ex.printStackTrace();
}
}
i have java.lang.ArrayIndexOutOfBoundsException: -1
can you help me please?