我需要编写一个程序,使每个按钮发光,然后按顺序变暗。我不能使用线程,因为它们会同时发光,定时器似乎也不起作用。
我的代码:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
public class test extends JApplet
{
JButton a,b,c;
JButton board[]=new JButton[3];
Color color;
public void makeGUI()
{
setLayout(new GridLayout(2,3));
a=new JButton("a");
b=new JButton("b");
c=new JButton("c");
a.setBackground(Color.red);
b.setBackground(Color.blue);
c.setBackground(Color.green);
add(a);
add(b);
add(c);
board[0]=(JButton)a;
board[1]=(JButton)b;
board[2]=(JButton)c;
glowing();
}
public void glowing()
{
for(int i=0;i<3;i++)
{
glow(i);
long start = System.currentTimeMillis( );
while(System.currentTimeMillis( ) - start < 2000){}
dim(i);
}
}
public void init()
{
try
{
SwingUtilities.invokeAndWait(new Runnable()
{
public void run()
{
makeGUI();
}
});
}
catch(Exception exc)
{
System.out.println("can't create because of :"+exc);
}
}
public void glow(int x)
{
color=board[x].getBackground();
board[x].setBackground(color.brighter());
}
public void dim(int x)
{
board[x].setBackground(color);
}
}
输出:屏幕保持空白,按钮最后一起弹出。