我有一個NetBeans IDE 的桌面應用程序,該應用程序有一個JTable
,它顯示來自lucene搜索操作的 數據。替換jtable的內容
任何時候進行新的搜索, 該表將新搜索結果追加到 之前的搜索結果中。我想要的是 要使用新的搜索結果替換任何正在退出的 搜索結果。以 爲單詞對錶進行刷新並顯示新的 搜索結果。
可用
這種任何建議是數據模型
public class MyTableModel extends AbstractTableModel {
private Vector<Vector<String>> dataList = new Vector<>();
private String[] header = { "ID","SUBJECT","LETTTER FROM","LETTER DATE","DATE RECEIED",
"REMARKS","DATE DISPATCHED","DESTINATION OFFICE"};
public Vector<Vector<String>> getDataList() {
return dataList;
}
public void setDataList(Vector<Vector<String>> dataList) {
this.dataList = dataList;
fireTableDataChanged();
}
public void setHeader(String[] header) {
this.header = header;
}
public String[] getHeader() {
return header;
}
@Override
public int getRowCount() {
return dataList.size();
}
@Override
public int getColumnCount() {
return header.length;
}
@Override
public String getColumnName(int col) {
return header[col];
}
@Override
public Object getValueAt(int row, int col) {
return dataList.get(row).get(col);
}
}
此代碼將搜索結果的數據模型類的代碼片段
private void searchButtonActionPerformed(java.awt.event.ActionEvent evt) {
try {
searchField = searchTextField.getText();
if(!searchField.isEmpty())
{
matrix = dbs.searchDatabase(searchField + "*");
myModel.setDataList(matrix);
}
} catch (CorruptIndexException ex) {
Logger.getLogger(GNSSJFrame.class.getName()).log(Level.SEVERE, null, ex);
} catch (LockObtainFailedException ex) {
Logger.getLogger(GNSSJFrame.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException | ParseException ex) {
Logger.getLogger(GNSSJFrame.class.getName()).log(Level.SEVERE, null, ex);
}
}
請發佈一部分的密碼 – Sach 2013-03-16 13:55:54
事先做一次模型刷新。 – skuntsel 2013-03-16 14:00:12
你使用了什麼模型? – Sach 2013-03-16 14:09:38