Derbyデータベースデータを使用してNetbeansGUIビルダーjTableにデータを入力しようとしています。
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;
}
理想的には、GUI内でこのメソッドを実行することは悪い習慣であると理解しているので、パラメーターデータと列を内部に含むtableModelを返すことができるようにしたいと思います。オンラインのすべてのチュートリアルでは、データを別のクラスに送信する方法は示されていません。GUIクラス内でデータベースコードを実行するだけです。
メソッドの到達不能な部分で宣言および使用されているため、データと列が表示されないというエラーが発生します。これを行った後、これをGUIクラスに渡して、NetbeansGUIビルダーによって作成されたjTableのモデルを設定する方法を見つける必要があります。
私はこのウェブサイトで答えを探していて、多くの解決策を試しました。ただし、システムのコーディング方法が原因で、何も機能しないようです。次のような他のWebサイトも試しました。
http://tips4java.wordpress.com/2009/03/12/table-from-database/
http://chang.advits.com/populate-data-from-database-into-jtable-in-netbeans <これは理想的でしたが、機能しませんでした。ティーショットまでついてきました!
そして、jTable、DefaultTableModel、ResultSetTableModelのJavadocを見てきました-私は、学習などによってこれを自分でやろうとしたことは決してありません...
システムをモデル化した方法でこれを行うにはどうすればよいですか?また、とにかく私の方法を修正するのですか、それとも完全に廃棄する必要がありますか?