Java—实现上的问题
所以,我在看一个关于如何用java制作基本2d游戏的教程,但在教程的某一点上,他告诉我们实现KeyListener。当我试图这样做的时候,他给了我这个错误,我找不到解决的办法 错误消息-Java—实现上的问题,java,Java,所以,我在看一个关于如何用java制作基本2d游戏的教程,但在教程的某一点上,他告诉我们实现KeyListener。当我试图这样做的时候,他给了我这个错误,我找不到解决的办法 错误消息- java: "PackageName"."ClassName" is not abstract and does not override abstract method keyReleased(java.awt.event.KeyEvent) in java.awt.event.KeyListener 这是
java: "PackageName"."ClassName" is not abstract and does not override abstract method keyReleased(java.awt.event.KeyEvent) in java.awt.event.KeyListener
这是我的密码-
package Classes;
import javax.swing.*;
import java.awt.*;
import java.awt.event.KeyListener;
class Data extends JPanel implements KeyListener{
static int x = 225;
static int y = 200;
public Data(){
setBackground(Color.BLACK);
}
public void paint(Graphics g){
g.setColor(Color.WHITE);
g.drawOval(x, y, 50, 50);
repaint();
}
public static void main(String[] args){
JFrame frame = new JFrame();
Data game = new Data();
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.add(game);
frame.pack();
frame.setSize(new Dimension(500, 400));
frame.setTitle("Game");
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
我正在用Java1.7编写代码
有人知道如何修复实现错误吗?谢谢。如果要编写实现另一个类的类,则必须“实现”,或者换句话说,编写另一个类所需的所有方法,否则将导致这些实现错误 如果您不明白这一点,我强烈建议您阅读Oracle网站上的页面 对于您的具体情况,从javadoc中,我们可以看到您需要实现:
void keyTyped(KeyEvent e)
void keyPressed(KeyEvent e)
void keyReleased(KeyEvent e)
那么,您是否理解错误消息?如果您实际上不想提供任何
KeyListener
方法,为什么要编写implements KeyListener
?您了解实现接口意味着什么吗?