【问题标题】:how to fix this keylistener error in java swing [duplicate]如何在java swing中修复这个keylistener错误[重复]
【发布时间】:2019-06-16 15:35:45
【问题描述】:

我正在学习 Python 中的 GUI,但我不知道为什么 keylistener 不能正常工作,而 action listener 工作正常,但 keylistner 不行。

我试图公开 keylistener 方法 我试图在主类中实现它(在我的例子中是“GUIevents”)

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class GUIevents extends JFrame 
{

    int buttonclicked = 0;
    JButton button;
    JTextField entry;
    JTextArea output;
    public static void main(String[] args) 
    {

    new GUIevents();    

    } // main

    public GUIevents()
    {

        // Form
        .....
        ///////

        JPanel p = new JPanel();

        button = new JButton("click for event");    

        entry = new JTextField("",15);

        output = new JTextArea(20,20);



        // Listneres 

        ListenForButton bevent = new ListenForButton();

        button.addActionListener(bevent);

        ListenForKeys kevent = new ListenForKeys();

        entry.addKeyListener(kevent);


        // adding 
         ...
        ////

        this.setVisible(true);        

    } // gui event constructor


    private class ListenForButton implements ActionListener
    {


        public void actionPerformed(ActionEvent e)
        {

            if (e.getSource() == button)
            {

                buttonclicked++;

                System.out.println("button clicked " + buttonclicked + " times");

            }

        }

    } // listenforbutton

    private class ListenForKeys implements KeyListener
    {

        public void KeyPressed(KeyEvent e)
        {
            output.append("key hit: " + e.getKeyChar() + "\n");
        }

        public void KeyReleased(KeyEvent arg0)
        {

        }

        public void KeyTyped(KeyEvent arg0)
        {

        }

    }

}

我在调试时收到此错误并感谢您 .................... ..................................................... .....................(我需要添加这个,所以我可以发布抱歉)

GUIevents.java:97: error: GUIevents.ListenForKeys is not abstract and does not override abstract method keyReleased(KeyEvent) in KeyListener
    private class ListenForKeys implements KeyListener

【问题讨论】:

  • Java 区分大小写,因此public void KeyReleased(KeyEvent arg0) 与(正确版本)public void keyReleased(KeyEvent arg0) 不同。总是在你的方法覆盖前面加上@Override注解,这样你以后就不会犯同样的错误了。

标签: java swing keylistener


【解决方案1】:

您没有覆盖任何 KeyListener 接口方法,请检查您的拼写。 Java 方法以小写字母开头,您在 ListenForKeys 类的所有方法定义中都将 K 大写。

【讨论】:

  • 谢谢你兄弟 ifeel iam dump 现在它工作了
猜你喜欢
  • 2021-03-08
  • 1970-01-01
  • 1970-01-01
  • 2021-05-29
  • 1970-01-01
  • 1970-01-01
  • 2017-11-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多