1
我试图学习如何绘制一个形状,并能够a)绘制它,“冻结”该过程,绘制它的背景颜色,然后重新绘制原始颜色和b )绘制一个形状并改变它的颜色。所有我至今是(对于闪烁):如何在Java中使形状“闪烁”或更改颜色?
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Carlight extends JPanel{
Thread th=new Thread();
public void paintComponent (Graphics g){
super.paintComponents(g);
g.setColor(Color.yellow);
g.fillOval(25, 25, 10, 10);
try{
th.sleep(10);
}catch(InterruptedException e){}
repaint();
g.setColor(Color.yellow);
g.fillOval(25, 25, 10, 10);
try{
th.sleep(10);
}catch(InterruptedException e){}
repaint();
g.setColor(Color.yellow);
g.fillOval(25, 25, 10, 10);
}
public Carlight(){
JFrame frame=new JFrame();
frame.setTitle("Carlights");
frame.add(this);
frame.setBackground(Color.black);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(100,150);
frame.setVisible(true);
}
public static void main(String[] args){
new Carlight();
}
}
如何使此代码的工作,我如何得到一个形状改变颜色?
太棒了!非常感谢! – tussya
如果这回答了你所有的问题,你可能应该接受它作为答案。 – pimaster
这就是为什么javax.swing.Timer存在的原因,顺便说一句(如果我忘记了正确的Java命名方法无效名称和Executor)+1 – mKorbel