java - 如何在 java swing 中修复这个 keylistener 错误
问题描述
我正在用 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
解决方案
您没有覆盖任何 KeyListener 接口方法,请检查您的拼写。Java 方法以小写字母开头,您在 ListenForKeys 类的所有方法定义中都将 K 大写。
推荐阅读
- ionic-framework - 在项目中删除了 ionic 3 个空格
- websocket - K6: k6 websocket - 如何在 K6 中解码压缩文本
- mongodb - 环回:关系通过 - 不工作
- azure-cosmosdb - IDocumentQuery.ExecuteNextAsync() 的问题
- mysql - 带有 REGEXP 的 MySQL CASE 语句不起作用
- angular - 打字稿错误 TS1005: '(' 预期
- python - 使用python将md5哈希转换为png文件
- swift - 如何在 Swift 中的每个第 n 个字符处拆分一个字符串?
- php - Laravel:图片未上传
- linux - 为什么mplayer在循环时退出Bash?