我是Java初學者。我真的需要從陣列或ArrayList
返回DefaultTableModel
(javax.swing
)。有可能的?我無法將數組插入到DefaultTableModel
(構造函數)中。將ArrayList轉換爲DefaultListModel
代碼如下:
private DefaultListModel model;
public DefaultListModel getNamesAndIdToCombobox(Connection conn, boolean closeConn, String sql) throws SQLException {
long counter = 0;
try {
Statement stmt =
conn.prepareStatement(sql);
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
// String longKey = (String)rs.getString(2);
try
{
jListList.add(new JListValues(rs.getLong(2), rs.getString(1)));
}
catch(SQLException sqlException){}
try
{
jListList.add(new JListValues(rs.getLong(2), rs.getLong(1)));
}
catch(SQLException sqlException){}
try
{
jListList.add(new JListValues(rs.getString(2), rs.getLong(1)));
}
catch(SQLException sqlException){}
counter++;
}
JListValues[] array = jListList.toArray(new JListValues[jListList.size()]);
model = new DefaultListModel(array); // HERE IT IS A PROBLEM
LOGGER.info("getNamesAndIdToCombobox result count: " + counter);
} catch (SQLException e) {
LOGGER.error("Error", e);
throw e;
} finally {
try {
if (closeConn == true)
conn.close();
} catch (Exception e) {/* null */
}
}
return model;
}
究竟是什麼問題? – Dimitri
因此,創建一個循環並將值逐個複製到Vector中,然後使用Vector創建DefaultListModel。或者,只需將這些值加載到Vector中,這樣就不需要進行復制。此外,清除你的問題。有時你引用TableModel,而其他時候引用ListModel。 – camickr