Я пытаюсь обновить данные из JTable.ошибка при обновлении данных в JTable с использованием TableModel
Этот метод выбора данных из базы данных:
public Object[][] getData() {
Object[][] data = new Object[15][10];
try {
String query = "SELECT * from emailApp";
rs = st.executeQuery(query);
int i = 0;
while (rs.next()) {
int id = rs.getInt("id");
int priority = rs.getInt("priority");
String sender = rs.getString("sender");
String recipient = rs.getString("recipient");
String labelDb = rs.getString("label");
String subject = rs.getString("subject");
String message = rs.getString("message");
data[i][0] = id;
data[i][1] = sender;
data[i][2] = priority;
data[i][3] = recipient;
data[i][4] = labelDb;
data[i][5] = subject;
data[i][6] = message;
i++;
if(i>15) break;
}
} catch(Exception ex) {
System.out.println(ex);
}
return data;
}
Затем я использую этот метод, чтобы обновить данные из JTable:
public void setUpTableData() {
DefaultTableModel model = (DefaultTableModel) table.getModel();
DBConnect connect = new DBConnect();
Object[][] data = connect.getData();
Object[] modelData = new Object[15];
model.setRowCount(0);
for(int i = 0; i<15; i++) {
if(data[i][0] == null) break;
modelData[0] = data[i][0];
modelData[1] = data[i][1];
modelData[2] = data[i][2];
modelData[3] = data[i][3];
modelData[4] = data[i][4];
modelData[5] = data[i][5];
modelData[6] = data[i][6];
model.addRow(data);
}
model.fireTableDataChanged();
table.setModel(model);
}
Ошибка: Исключение в потоке «AWT- EventQueue-0 "java.lang.ClassCastException: javax.swing.JTable $ 1 не может быть отнесено к javax.swing.table.DefaultTableModel
и то я вызываю этот метод, нажимая кнопку. Может кто-нибудь сказать мне, что я делаю неправильно. Спасибо!
Примечание: 'если (я> 15)' -> Что происходит, когда вы достигаете индекс 15? Выглядит из-за пределов ко мне :-) –
Также, если вам понравится исправление «ошибки», это поможет нам, если бы _we_ также знал, что это было. –
Какая ошибка вы получаете? – gks