这是我第一次尝试java applet。它只是一个应该移动的简单方块

时间:2014-12-05 15:11:39

标签: java applet

我在x,y处绘制正方形,然后在重新绘制之前在run方法中增加x和y,但是方形不会移动

import java.applet.*;
import java.awt.*;
public class Basics extends Applet implements Runnable{
int x = 0;
int y = 0;

public void init(){
    setSize(500,500);
}

public void start(){
    Thread a = new Thread();
    a.start();
}

public void stop(){

}

public void destroy(){

}

public void run(){


    while(true){
        x++;
        y++;                
        repaint();
        try{
            Thread.sleep(18);
        }
        catch(InterruptedException e){}


    }
}

public void paint(Graphics g){
    g.setColor(Color.red);
    g.fillRect(x,y,25,25);
}

}

然而,即使我不增加x和y并且只是在run方法中为它们设置一个值,方形的颜色为0,0; ​​

2 个答案:

答案 0 :(得分:1)

您已在类中实现了Runnable接口,这意味着您希望它在线程中运行。但是你声明并启动你的线程,而没有指定你想要它做什么。

尝试将Runnable对象(即this)传递给Thread构造函数,以便该线程可以执行某些操作。

Thread a = new Thread(this);

答案 1 :(得分:0)

将applet指定为构造线程时要使用的runnable。更改以下行:

Thread a = new Thread();

为:

Thread a = new Thread( this );