2014-12-05 32 views
0

一個簡單的方形我畫的廣場位於x,y,然後重新粉刷之前遞增的run方法x和y但卻方犯規移動這是我第一次嘗試java applet。它只是應該移動

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,並在運行方法中爲它們設置一個值,方形顏色爲0,0;

+0

'new Thread(this);'但是等待答案;還有可能有話要說。 – 2014-12-05 15:17:17

+0

1)爲什麼要編寫一個小程序?如果是由於老師指定它,請將它們轉介給[爲什麼CS教師應該**停止**教Java applets](http://programmers.blogoverflow.com/2013/05/why-cs-teachers-should -stop教學-java的小應用程序/)。 2)爲什麼使用AWT?看到[這個答案](http://stackoverflow.com/questions/6255106/java-gui-listeners-without-awt/6255978#6255978)有很多很好的理由放棄AWT使用組件有利於Swing。 – 2014-12-06 23:47:56

回答

0

指定小程序作爲構建線程時使用的可運行程序。更改以下行:

到:

Thread a = new Thread(this); 
1

您已經實現了你們班Runnable接口,這意味着你想讓它在線程中運行。但是你聲明並開始你的線程,而不必指定你想要它做什麼。

嘗試將Runnable對象(即this)傳遞給Thread構造函數,以便該線程有一定的作用。

Thread a = new Thread(this);