我从堆栈溢出中读过很多答案,但无法解决我的问题,所以我发布了问题
我已经在java swing中编写了Key Press Action的代码,但是当我按下键时没有任何事情发生,所以请在我编写错误代码的地方建议我的代码如下
textField_1.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
if(e.getKeyCode()==KeyEvent.VK_TAB){ try{
String query="select * from checklist where sbno='"+sb+"'";
PreparedStatement pst=connection.prepareStatement(query);
ResultSet rs=pst.executeQuery();
while (rs.next()){
Shipping_Marks.setText(rs.getString("smarks"));
Shippername.setText(rs.getString("shipper"));
}
rs.close();
}catch (Exception e1){
e1.printStackTrace();
}
}
答案 0 :(得分:0)
Tab在进入该字段之前被拦截。如果要拦截Tab,则必须使用解决方法,或者更好的是,不要使用Tab作为拦截键。
一般的想法是Tab用于在组件之间切换。这是它的主要功能。
另一种方法(对你而言)可能是将这个字段排除在Tab之外,如下所示:
text_Field1.setFocusTraversalKeysEnabled(false);
或者您可以使用此字段失去焦点并使用捕获此事件的方法的事实。 这里有一些tutorial。