Впервые в Java, вот так:
Я хочу взять мой arrayList , который я заполнил, выполнив это:
ar.add (rs.getString (у));
Который производит что-то вроде этого:
значение1, значение2, значение3, ...
И вернуть это так:
return (Object[][]) ar.toArray();
or
String[][] res = new String[ar.size()][];
return ar.toArray(res);
Хотя это, кажется, просто ставит Null, Null, Null через все это.
Когда он заполняется через ar.add (...) , я проверяю, есть ли у него данные (, и он имеет ).
Все это так, чтобы я мог создать таблицу :
TableModel model = new EditableTableModel(columnTitles, dataEntries);
dataEntries являющийся объектом [] [] , в котором он нуждается.
оригинальный dataEntries код был:
Object[][] dataEntries = {
{ "value1", "value2", "value3", "value4", "value5", "value6", "value7" },
{ "value1", "value2", "value3", "value4", "value5", "value6", "value7" },
etc...
};
Который работал просто отлично при первом тестировании. Эти значения отображаются в jTable , как и должно быть.
Это мой полный код:
private void initialize() throws Exception {
[more code here]
Object[][] dataEntries = reloadData();
TableModel model = new EditableTableModel(columnTitles, dataEntries);
table = new JTable(model);
[more code here]
}
@SuppressWarnings("unchecked")
private Object[][] reloadData() throws Exception {
SQLiteJDBCLoader.initialize();
ArrayList<String> ar = new ArrayList<String>();
SQLiteDataSource dataSource = new SQLiteDataSource();
dataSource.setUrl(dbPath);
try {
ResultSet rs = dataSource
.getConnection()
.createStatement()
.executeQuery("Select "
+ "data_script, "
+ "data_status, "
+ "data_errors, "
+ "data_tester, "
+ "data_rundate, "
+ "data_tools, "
+ "ID "
+ "FROM allData");
int row = 5;
int col = 6;
while (rs.next()) {
for (int x = 1; x < row; x++) {
for (int y = 1; y < col; y++) {
ar.add(rs.getString(y));
}
}
}
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, ex);
}
return (Object[][]) ar.toArray();
}
Что я мог делать не так?