Я пытаюсь заполнить jTable для построения графического интерфейса Netbeans, используя данные моей базы данных Derby.
Я использую следующий код в своем классе Account.java:
public DefaultTableModel getData() {
try {
String stmt = "SELECT * FROM APP.DATAVAULT";
PreparedStatement ps = Main.getPreparedStatement(stmt);
ResultSet rs = ps.executeQuery();
ResultSetMetaData md = rs.getMetaData();
int columnCount = md.getColumnCount();
Vector columns = new Vector(columnCount);
//store column names
for (int i = 1; i <= columnCount; i++) {
columns.add(md.getColumnName(i));
}
Vector data = new Vector();
Vector row;
while (rs.next()) {
row = new Vector(columnCount);
for (int i = 1; i <= columnCount; i++) {
row.add(rs.getString(i));
}
data.add(row);
//Debugging
}
// List.setModel(tableModel);
ps.close();
rs.close();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
DefaultTableModel tableModel = new DefaultTableModel(data, columns);
return tableModel;
}
В идеале я хочу иметь возможность возвращать tableModel с данными параметров и столбцами внутри, поскольку я понимаю, что использование этого метода в моем графическом интерфейсе является плохой практикой. Все учебные пособия в Интернете не показывают, как отправлять данные в другой класс, они просто выполняют код базы данных в классах графического интерфейса.
У меня есть ошибка, когда он не может видеть данные и столбцы, потому что они объявлены и используются в недоступной части моего метода. После того, как я это сделал, мне нужно найти способ передать это моему классу графического интерфейса и установить модель для моей таблицы jTable, созданную построителем графического интерфейса Netbeans.
Я искал этот сайт для ответов, и я пробовал много решений. Тем не менее, я никогда не заставляю что-либо работать из-за того, как я закодировал свою систему. Я также пробовал другие сайты, такие как:
http://tips4java.wordpress.com/2009/03/12/table-from-database/
http://chang.advits.com/populate-data-from-database-into-jtable-in-netbeans ‹ это было бы идеально, но не сработало. Я следовал за ним до тройника!
и просмотрел Javadocs для jTable, DefaultTableModel и ResultSetTableModel - я ни в коем случае не пытался сделать это сам, изучая и т. д.
Как я могу сделать это с тем, как я смоделировал свою систему? Кроме того, в любом случае исправить мой метод или я должен полностью отказаться от него?