1
public static DefaultTableModel localQuery(String searchTerm){
List<String[]> result = new ArrayList<String[]>();
String[] rowResult = new String[7];
Vector<String[]> rows = new Vector<String[]>();
Vector<String> columnNames = new Vector<String>();
Statement stmt = null;
try {
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(searchTerm);
while(rs.next()){
rowResult = new String[13];
String currentId= rs.getString("CurrentId");
String manufacturer = rs.getString("Constructor");
String type = rs.getString("ACType");
String series = rs.getString("Series");
String index = rs.getString("KeyNo");
String operator = rs.getString("Operator");
String baseCountry = rs.getString("Home_Country");
String baseAirport = rs.getString("Home_Airfield");
String cn = rs.getString("Con");
String lineNo = rs.getString("LineNum");
String hex = rs.getString("Hexcode");
String selcal=rs.getString("Selcal");
String acName = rs.getString("ACName");
rowResult[0] = (currentId);
rowResult[1] = (manufacturer);
rowResult[2] = (type);
rowResult[3] = (series);
rowResult[4] = (operator);
rowResult[5] = (baseCountry);
rowResult[6] = (baseAirport);
rowResult[7] = (cn);
rowResult[8] = (lineNo);
rowResult[9] = (hex);
rowResult[10] = (selcal);
rowResult[11] = (acName);
rowResult[12]= (index);
result.add(rowResult);
}
columnNames.add("Reg.");
columnNames.add("Manufacturer");
columnNames.add("Type");
columnNames.add("Series");
columnNames.add("Operator");
columnNames.add("Home Country");
columnNames.add("Home Airfield");
columnNames.add("C/N");
columnNames.add("Line #");
columnNames.add("Hex");
columnNames.add("Selcal");
columnNames.add("Aircraft Name");
columnNames.add("");
rs.close();
stmt.close();
//Convert from List<String[]> to a suitable vector for resultTable... Help!!!
DefaultTableModel resultTable = new DefaultTableModel(rows, columnNames);
return resultTable;
}
嗨!我想這個方法返回一個DefaultTableModel在JTable上使用。我努力將從數據庫中提取的數據格式化爲模型友好的格式。對我來說很簡單,這是我第三天任何編程!爲DefaultTableModel創建矢量
感謝提前:)
感謝您的@peeskillet,似乎在說我沒有得到錯誤的感覺是工作。我現在的下一個問題是:在我的Jtable定義的類上,我爲它分配了一個空的DefaultTableModel(爲簡單起見,tableModel),然後運行此方法並執行tableModel = returnModelFromThisMethod。我的理解是,表格現在應該刷新並顯示我的方法的結果嗎?請原諒我的無知,但我正在學習。這樣做夠用還是需要某種表監聽器? –
不應該做的是聲明不同的表模型。 'DefaultTableModel model2 = localQuery(...);'然後設置表的模型..'table.setModel(model2);' –
它工作!!!!它還活着!!!哈哈,你太棒了@peeskillet。對於像我這樣無知的新手來說,這是一個不可思議的網站。非常感謝! –