public class MyPix ()
{
pixColor = Color.BLUE;
}
public void draw(Graphics g)
{
g.setColor(pixColor);
g.fillOval(5,5,10,10);
}
鉴于我有上面的简化课程。如何在没有相互作用的情况下使我的形状循环变色。我没有得到线程/睡眠的东西。
答案 0 :(得分:3)
如果没有交互,您需要使用像SwingWorker这样的东西,这在Swing中比在Thread / Sleep系统中更容易使用。有关详细信息,请参阅tutorial on SwingWorker
答案 1 :(得分:1)
您想要离散或连续的颜色变化吗?如果是后者 -
static Color getBGColor1() {
float h = System.currentTimeMillis()*1e-3f,
s = .1f, b = .9f;
return Color.getHSBColor(h, s, b);
}
编辑:也许你想要这样的东西?
static Random rnd = new Random();
static Color getBGColor2() {
rnd.setSeed(System.nanoTime()/1000000000*1337);
float h = rnd.nextFloat(), s = .1f, b = .9f;
return Color.getHSBColor(h, s, b);
}