\\DirectionPanel.java:35 错误:DirectionPanle.DirectionListener不是抽象的,并且未覆盖KeyListener中的抽象方法KeyReleased(KeyEvent)              private class DirectionListener implements KeyListener
                      ^
 
import javax.swing.JFrame;
public class Direction
{
public static void main(String[] args)
{
JFrame frame=new JFrame("Direction");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); DirectionPanel panel=new DirectionPanel();
frame.getContentPane().add(panel);
frame.pack();
frame.setVisible(true);
}
}import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class DirectionPanel extends JPanel
{
private final int WIDTH=300,HEIGHT=200;
private final int JUMP=10;
private final int IMAGE_SIZE=31;
private ImageIcon up,left ,right,down,currentImage;
private int x,y;

public DirectionPanel()
{
addKeyListener(new DirectionListener());
x=WIDTH/2;
y=HEIGHT/2;
up=new ImageIcon("arrowUp.jpg");
down=new ImageIcon("arrowDown.jpg");
left=new ImageIcon("arrowLeft.jpg");
right=new ImageIcon("arrowRight.jpg");

currentImage=right;

setBackground(Color.black);
setPreferredSize(new Dimension(WIDTH,HEIGHT));
setFocusable(true);
} public void paintComponent(Graphics page)
{
super.paintComponent(page);
currentImage.paintIcon(this,page,x,y);
} private class DirectionListener implements KeyListener
{
public void KeyPressed(KeyEvent event)
{
switch(event.getKeyCode())
{
case KeyEvent.VK_UP:currentImage=up;y-=JUMP;break;
case KeyEvent.VK_DOWN:currentImage=down;y+=JUMP;break;
case KeyEvent.VK_LEFT:currentImage=left;x-=JUMP;break;
case KeyEvent.VK_RIGHT:currentImage=right;x+=JUMP;break;
}
repaint();
}
public void KeyTyped(KeyEvent event){}
public void KeyReleased(KeyEvent event){} }
}