import java.applet.*;
import java.awt.*; // Graphics, Shape
import java.awt.geom.*; //Graphics2D
/*
<applet code = Oval1.class height=300 width=300 >
</applet>
*/
public class Oval1 extends Applet implements Runnable {
Shape circle;
Color c;
public void init() {
circle = new Ellipse2D.Float(90,100, 90, 90);
repaint();
Thread th = new Thread(this);
th.start();
}
public void run() {
try {
while(true) {
System.out.println(1);
c = Color.cyan;
repaint();
Thread.sleep(1000);
System.out.println(2);
c = Color.gray;
repaint();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
public void update(Graphics g) {
paint(g);
}
public void paint(Graphics g) {
Graphics2D d = (Graphics2D) g;
d.setColor(c);
d.fill(circle);
}
}
我試圖創建具有改變圓圈的顏色每秒鐘小程序&的中間實心圓一個小程序,意味着我要秀像圓它閃爍。如何改變圓的顏色在每一秒
我想在每秒鐘更改圓圈的顏色。
爲此我使用Shape類&線程,但它仍然無法工作。
我已經用paint(g)
通過重載update方法試試..
這會不會效果還
您是否獲取了System.out.println輸出? – Thilo
是的,在控制檯中,我在每一秒都得到了println語句... –
c改變了它的顏色,但是你沒有看到它。添加Thread.sleep(1000);在repaint()之後的while塊的末尾;你會得到你想要的。 – 2012-12-28 07:26:04