java移动图形的问题
来源:百度知道 编辑:UC知道 时间:2024/06/29 23:41:50
import java.awt.*;
import java.awt.event.*;
public class work
{
public static void main(String[] args)
{
TFrame t = new TFrame("TestKeyEvent");
}
}
class TFrame extends Frame
{
static int x=50;
static int y=50;
TFrame(String s)
{
super(s);
setLayout(null);
setBounds(400,500,200,200);
addKeyListener(new KeyAdapter()
{
public void keyPressed(KeyEvent e)
{
int keycode = e.getKeyCode();
if(keycode == KeyEvent.VK_UP)
{
{
y=y-5;
}
}
else if(keycode == KeyEvent.VK_DOWN)
{
y=y+5;
}
else if(keycode == KeyEvent.VK_LEFT)
{
x=x-5;
}
else if(keycode == KeyEvent.VK_RIGHT)
{
x=x+5;
}
repaint();
}
});
addWindowListener(new WindowAdapter()
{
根据你的程序我加了一个线程
import java.awt.*;
import java.awt.event.*;
public class work
{
public static void main(String[] args)
{
TFrame t = new TFrame("TestKeyEvent");
}
}
class TFrame extends Frame
{
static int x=50;
static int y=50;
private Run run=new Run();
private Thread t=new Thread(run);
TFrame(String s)
{
super(s);
setLayout(null);
setBounds(400,500,200,200);
addKeyListener(new KeyAdapter()
{
public void keyPressed(KeyEvent e)
{
int keycode = e.getKeyCode();
if(keycode == KeyEvent.VK_UP)
{
{
//y=y-5;
run.setLocation(KeyEvent.VK_UP);
t.start();
}
}
else if(keycode == KeyEvent.VK_DOWN)
{
//y=y+5;
run.setLocation(KeyEvent.VK_DOWN);
t.start();
}
else if(keycode == KeyEvent.VK_LEFT)
{
//x=x-5;
run.setLocation(KeyEv