我正在创建一个计费软件,我想显示数据库中与我的 JTable 的项目列中键入的值相匹配的项目名称。为此,我添加了一个 KeyListener。一切正常,除了只有第一个键,keypressed 事件被触发。如果我按回车键然后再次输入,它会再次被触发。我希望为连续输入列中的每个键触发keyevent,任何人都可以帮助我......?
我将给出代码片段...我希望 DB 中的项目显示在 itable 中...
public void keyPressed(KeyEvent e) {
rows=table.getSelectedRow();
cols=table.getSelectedColumn();
if(cols==2){
String code=(String)table.getValueAt(rows, cols);
Statement stmt = null;
ResultSet rs = null;
for (int i =model1.getRowCount();i>0; i--) {
model1.removeRow(i-1);
}
table.changeSelection(rows,cols, false, false);
itable.setVisible(true);
int i=0;
String SQL = "SELECT * FROM items where name like\'"+code+"%\' or
code=\'"+code+"\' order by name";
try{
stmt = (Statement) dbcon.con.createStatement();
rs = stmt.executeQuery(SQL);
while (rs.next()) {
model1.insertRow((i),new Object[]{""});
itable.setValueAt((Object)rs.getString("name"), i, 0);
i++;
}
}
catch(Exception e1){
table.editCellAt(rows,cols,null);
return;
}}
}