Timer t = new Timer(20000, new
ActionListener()
{
public void actionPerformed(ActionEvent event)
{
// 要做的事
}
});
t.start();停止定时器运行可以用
t.stop();
ActionListener()
{
public void actionPerformed(ActionEvent event)
{
// 要做的事
}
});
t.start();停止定时器运行可以用
t.stop();
import javax.swing.border.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
import java.util.*;public class TimerDemo implements ActionListener,ChangeListener{
JFrame f=null;
ImageIcon[] icons;
JSlider slider;
JLabel label;
JToggleButton toggleb1,toggleb2;
JButton b;
javax.swing.Timer timer;
int index=0;
public TimerDemo(){
f=new JFrame("Timer Example");
Container contentPane=f.getContentPane();
icons=new ImageIcon[5];
for(int i=0;i<icons.length;i++){
icons[i]=new ImageIcon("doc"+(i+1)+".gif");\\所需图片
}
label=new JLabel(icons[0]);
JPanel panel1=new JPanel();
panel1.setLayout(new GridLayout(2,1));
slider=new JSlider();
slider.setPaintTicks(true);
slider.setMajorTickSpacing(20);
slider.setMinorTickSpacing(10);
slider.setPaintLabels(true);
slider.addChangeListener(this);
panel1.add(slider);
JPanel buttonPanel=new JPanel();
buttonPanel.setLayout(new GridLayout(1,3));
toggleb1=new JToggleButton("Start");
toggleb1.addActionListener(this);
buttonPanel.add(toggleb1);
b=new JButton("Restart");
b.addActionListener(this);
buttonPanel.add(b);
toggleb2=new JToggleButton("Don't Repeat");
toggleb2.addActionListener(this);
buttonPanel.add(toggleb2);
panel1.add(buttonPanel);
Hashtable table=new Hashtable();
table.put(new Integer(0),new JLabel("低"));
table.put(new Integer(50),new JLabel("中"));
table.put(new Integer(100),new JLabel("高"));
slider.setLabelTable(table);
timer=new javax.swing.Timer(slider.getValue()*10,this);\\设置初始速度
contentPane.add(label,BorderLayout.CENTER);
contentPane.add(panel1,BorderLayout.SOUTH);
f.pack();
f.show();
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
f.dispose();
System.exit(0);
}
});
}
public static void main(String args[]){
new TimerDemo();
}
public void actionPerformed(ActionEvent e){
if(e.getSource()==toggleb1){
if(e.getActionCommand().equals("Start")){
timer.start();
toggleb1.setText("Stop");
}
if(e.getActionCommand().equals("Stop")){
timer.stop();
toggleb1.setText("Start");
}
}
if(e.getSource()==toggleb2){
if(timer.isRepeats()){
timer.setRepeats(false);
}
else{
timer.setRepeats(true);
timer.start();
}
}
if(e.getSource()==b){
slider.setValue(50);
timer.restart();
}
if(e.getSource()==timer){
if(index==5){
index=0;
}
label.setIcon(icons[index]);
label.repaint();
index++;
}
}
public void stateChanged(ChangeEvent e){
timer.setDelay(slider.getValue()*10);
}
}