对于我的代码,我有一个非常奇怪的错误。 每次按下搜索按钮,结果总是不同。
这是我的虚拟数据库。
我在表格中有4列和3行:
001 Viagra 1 APL
002 Diane 2 SBF
003 Santibi 3 BSP
我第一次按下搜索按钮时,表格中的数据根本没有变化。
这是我的程序的屏幕截图。 如果我第二次按下搜索按钮(结果是正确的)
,就会发生这种情况第三次按下按钮时,显示的结果不正确
如果我连续按下按钮,结果会不断变回,从正确变为不正确。
这是我的代码:`
public void searchPerformed() {
if (tSearch.getText().toString() == sch) { return; }
sch = tSearch.getText().toString();
int iColumn = cbSearch.getSelectedIndex();
TableRowSorter<TableModel> sorter = new TableRowSorter<>(model);
tbl.setRowSorter(sorter);
if (tSearch.getText().length() > 0) {
sorter.setRowFilter(RowFilter.regexFilter("(?i)" + tSearch.getText(), iColumn));
} else {
sorter.setRowFilter(null);
}
if (tbl.getRowCount() != 0) { tbl.setRowSelectionInterval(0, 0); }
else { clearText(); }
}
private void tSearchKeyPressed(java.awt.event.KeyEvent evt) {
if (evt.getKeyCode() != KeyEvent.VK_ENTER) { return; }
searchPerformed();
}
private void tSearchKeyPressed(java.awt.event.KeyEvent evt) {
if (evt.getKeyCode() != KeyEvent.VK_ENTER) { return; }
searchPerformed();
}