試用の時間と時間がたっても、プロジェクトの締め切りに近づいていて、やや簡単な問題の解決策がまだありません。私はSQLクエリからのデータをテーブルビューを入力する必要がありますが、私はそれは私がオンラインの例をコピー&ペーストしても動作させることはできません...私は、次のコードDefaultTableModelからTable Viewに変換するのに助けが必要です。JavaFX
public DefaultTableModel buildTableModel() {
ResultSetMetaData metaData;
try (Connection conn = DriverManager.getConnection(MapperConfig.JDBC_URL)) {
PreparedStatement queryOpgeslagenGames = conn.prepareStatement("");
ResultSet rs = queryOpgeslagenGames.executeQuery("SELECT spellen.spelID, spellen.spelNaam AS 'Naam van Spel', group_concat(naam separator ', ') AS 'Deelnemende spelers' FROM spellen RIGHT JOIN spelers ON spellen.spelID = spelers.spelID GROUP BY spellen.spelID");
metaData = rs.getMetaData();
// names of columns
Vector<String> columnNames = new Vector<String>();
int columnCount = metaData.getColumnCount();
for (int column = 1; column <= columnCount; column++) {
columnNames.add(metaData.getColumnName(column));
}
// data of the table
Vector<Vector<Object>> data = new Vector<Vector<Object>>();
while (rs.next()) {
Vector<Object> vector = new Vector<Object>();
for (int columnIndex = 1; columnIndex <= columnCount; columnIndex++) {
vector.add(rs.getObject(columnIndex));
}
data.add(vector);
}
return new DefaultTableModel(data, columnNames);
} catch (SQLException ex) {
for (Throwable t : ex) {
t.printStackTrace();
}
}
return new DefaultTableModel();
}
と同じ結果を必要とするが、私は必要があるので、 JavaFXで使用するにはJtableを使用できず、テーブルビューを使用する必要があります。誰かが私のためにコードを変換できますか? DefaultTableModelを使用してテーブルビューを作成する方法を教えてください。
テーブルには常に3つの列があり、最初にgameID、2番目にゲーム保存ファイル名、3番目にゲーム内の人々の名前のコレクションがあります。
は、それが見えます。あれは正しいですか?もしそうなら、明示的にその情報を質問に含めることができますか? –
@James_Dが追加されました:テーブルには常に3つの列があり、最初にgameIDが表示されます。これは、ゲームのファイル名とセカンドゲームの人々からの名前のコレクションを保存します。 –
あなたはこの[post](http://stackoverflow.com/questions/17316328/default-table-model-in-javafx)を思い出しましたか?このポストからより良い解決策を見つけることができます。 –