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