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() 这个怎么弄成一个事件监听类.. 我说的不详细 如果各位还有别的简单的方法也行,总之就是不能在一个类里 (麻烦各位在写上详细的过程)
辛苦大家了!!!
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() 这个怎么弄成一个事件监听类.. 我说的不详细 如果各位还有别的简单的方法也行,总之就是不能在一个类里 (麻烦各位在写上详细的过程)
辛苦大家了!!!
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}
然后再addWindowListener(new MyWindowAdapter());就可以了
我的意思是像class Yuan extends KeyAdapter
{
public void keyPressed(KeyEvent e) {
if(e.getKeyCode()==KeyEvent.VK_DOWN){
y+=2;
System.out.print("q");
}else if(e.getKeyCode()==KeyEvent.VK_UP){
y-=2;
}else if(e.getKeyCode()==KeyEvent.VK_LEFT){
x-=2;
}else if(e.getKeyCode()==KeyEvent.VK_RIGHT){
x+=2;
}
repaint();
}
}这个单独的一个类然后画圆 让圆在框里上下左右移动 所以 圆是一个类 上下左右这个又是一个类 然后在写一个主类调用这个些个类 (我自己都绕懵了)