Mat*_*898 1 java swing keylistener jtextfield documentlistener
在这个问题的评论和这个问题的答案中提到了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,为什么或为什么不使用?
我自己,我会使用 DocumentFilter,因为这样我可以忽略非字母输入。我也支持凯文提到的所有内容。1+他的回答。