在这个问题的评论和这个问题的答案中提到了documentListenerordocumentFilter应该使用而不是keyListener. 为什么是这样?
在我前几天写的一个简单的 Hangman 游戏中,我做了类似下面的代码:
public class Hangman extends JFrame implements KeyListener, ActionListener{
private JTextField guess;
private JButton b1;
private void addComponentsToPane(){
b1 = new JButton("New Game");
b1.addActionListener(this);
guess = new JTextField(2);
guess.addKeyListener(this);
Run Code Online (Sandbox Code Playgroud)
后来在代码中,我用keyTyped(KeyEvent ke)从获得的文本输入JTextField,并actionPerformed(ActionEvent ae)为JButton。
我的问题是,应该使用 documentListener/documentFilter而不是keyListener,为什么或为什么不使用?