我正在創建一個計費軟件,我想從數據庫中顯示與我的JTable的項目列中鍵入的值相匹配的項目名稱。爲了做到這一點,我添加了一個KeyListener。一切工作正常,除了只有第一個鍵,觸發按鍵事件。如果我按下Enter鍵然後再次輸入,它會再次觸發。我想要爲每一個連續輸入列的鍵都觸發keyevent,任何人都可以幫助我...... ....?僅當按下第一個鍵時觸發JTable按鍵事件
我給的代碼片段...我要顯示在itable從DB的項目...
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;
}}
}
你能告訴我們你的代碼嗎? – Sednus
@Sednus我已經添加了片段...是否足夠... – Swami
可能重複的[JTextField自動完成](http://stackoverflow.com/questions/8689695/jtextfield-autocomplete) – trashgod