NetBeans IDE으로 데스크탑 응용 프로그램을 가지고 있습니다. 응용 프로그램에 lucene 검색 작업의 데이터가 표시되는 JTable
이 있습니다.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
사전에 모델을 새로 고침하십시오. – skuntsel
어떤 모델을 사용하셨습니까? – Sach