import java.awt.*;
import java.awt.event.*;
public class XN extends Frame
{
int x=50;
int y=50;
public void Kuang(){
this.setTitle("NN");
this.setSize(600,400);
this.setVisible(true);
this.setResizable(true);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
int k = e.getKeyCode();
if(k == KeyEvent.VK_UP)
{ y-=10;
} else if(k == KeyEvent.VK_DOWN)
{
y+=10;
} else if(k == KeyEvent.VK_LEFT)
{
x-=10;
} else if(k == KeyEvent.VK_RIGHT)
{
x+=10;
}
repaint();
}
});
}
public void paint(Graphics g) {
g.setColor(Color.RED);
g.fillOval(x,y,30,30);
}
public static void main(String[] args){
XN x1=new XN();
x1.Kuang();
}
}
请各位帮忙分解成三个类 小圆是单独一个类 然后XN是一个类(也就是Frame外框)一个类 最重要的就是addKeyListener(new KeyAdapter() 这个怎么弄成一个事件监听类.. 我说的不详细 如果各位还有别的简单的方法也行,总之就是不能在一个类里 (麻烦各位在写上详细的过程)
辛苦大家了!!!
------解决方案--------------------
再写一个类,继承WindowAdapter,在XN这个类addWindowListener方法里面new一个你写的这个类的实例就可以了。比如这样 class MyWindowAdapter extends WindowAdapter{