如何更改或隐藏该JTextField而不显示给用户,并且仍然让用户键入键?我尝试使用“ KeyCodeT.setVisible(false);”,但是没有用。
这就是我在说的:http://oi46.tinypic.com/35hobbn.jpg
完整代码在这里:http://pastebin.com/8t3cTLKX
JTextField KeyCodeT = new JTextField("Key Code:");
public KeyProgram() {
KeyCodeT.addKeyListener(this);
KeyCodeT.setEditable(false);
add(KeyCodeT);
setSize(300, 300);
}
public void keyPressed(KeyEvent e) {
System.out.println("Key Pressed!!!");
if (e.getKeyCode() == 27) {
JOptionPane.showMessageDialog(null, "Good Bye");
System.exit(0);
}
}
public void keyReleased(KeyEvent e) {
System.out.println("Key Released!!!");
KeyCodeT.setText("Key Code:" + e.getKeyCode());
}
public void keyTyped(KeyEvent e) {
}
public static void main(String[] args) {
KeyProgram key = new KeyProgram();
key.setVisible(true);
}
最佳答案
if (e.getKeyCode() == 27)
不要使用幻数。读取您的代码的人不知道那是什么。而是使用:
KeyEvent.VK_ESCAPE
但是,您甚至不应为此使用KeyListener。相反,您应该使用Key Bindings。