java - KeyListener 的正确使用方法是什么?

标签 java swing actionlistener jtextfield keylistener

所以我一直在尝试提取 jTextFields 中的数据,并且不断弹出此错误消息,引用:

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: calcu.turkey (<--my class) cannot be cast to java.awt.event.KeyListener

      jTextField2.addKeyListener(new java.awt.event.KeyListener() {

        @Override
        public void keyTyped(KeyEvent ke) {
            //To change body of generated methods, choose Tools | Templates.
        }

        @Override
        public void keyPressed(KeyEvent ke) {
          //To change body of generated methods, choose Tools | Templates.
        }

        @Override
        public void keyReleased(KeyEvent ke) {
            //To change body of generated methods, choose Tools | Templates.
        }
    });
    jTextField2.addKeyListener((KeyListener) this);
    jTextField2.setFont(new java.awt.Font("Times New Roman", 0, 10)); // NOI18N
    jTextField2.setText("0");
    getContentPane().add(jTextField2);
    jTextField2.setBounds(250, 40, 70, 20);

最重要的是这一行:jTextField2.addKeyListener((KeyListener) this);因为它将 (KeyListener) 视为错误。我想知道如何正确添加 KeyListener 以获取文本字段中的数字。

最佳答案

您没有使用 KeyListener。您很少需要这样做。有更好的 API 可供使用。

例如,在使用文本组件时,您可能会使用 DocumentListener (请参阅 How to Write a Document Listener )或 DocumentFilter (请参阅 Implementing a Document Filter )。

I was wondering how do you properly add the KeyListener so it grab the number in the textfield.

通常,您会在一些不相关的事件上获取号码。例如,表单上有一个“提交”按钮。那么在这种情况下,您可以向按钮添加一个 ActionListener,然后在要提交表单时使用文本字段的 getText() 方法。

此外,我上面引用的 Swing 教程中有一个关于如何编写关键监听器的部分。

关于java - KeyListener 的正确使用方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17097750/

相关文章:

java - 如何让一个方法在后台持续运行直到程序结束?

java - 编写Action Listener关闭程序java

java - if语句中的代码突然离开

java - Android Studio 打印 EditText 返回 null

java - Swing JCheckbox 的多选问题

java - 如何显示 JList 的水平和垂直滚动条?

java - 注入(inject) @RequestScoped bean 两次作为不同的实例

java - JPA 生成的 SQL 为 "fetch first ? rows only"失败,在 Oracle 11g 中出现 ORA-00933

java - JFrame 的序列化删除了 JButton 的 ActionListener - Java

java - ActionListener 不起作用