如何更改或隐藏该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

09-08 03:46