package com.cn;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.Timer;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
public class Jindutiao {
static JFrame jf;
static JLabel jl;
static JButton jb;
static Timer timer;
static JProgressBar jpb;
public static void main(String[] args) {
jf=new JFrame("进度条");
JPanel jp=new JPanel();
jl=new JLabel("",JLabel.CENTER);
jpb=new JProgressBar();
jpb.setMinimum(0);
jpb.setMaximum(100);
jpb.setValue(0);
jpb.setStringPainted(true);
jpb.setPreferredSize(new Dimension(300,30));
jpb.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
jl.setText("目前进度:"+jpb.getValue()+"%");
}
});
jb=new JButton("start");
jb.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
timer.start();
}
});
timer =new Timer(50, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int v=jpb.getValue();
if (e.getSource()==timer){
if (v<100){
jpb.setValue(++v);
}else{
timer.stop();
jpb.setValue(0);
}
}
}
});
jp.add(jb);
jf.add(jp,BorderLayout.NORTH);
jf.add(jpb,BorderLayout.CENTER);
jf.add(jl,BorderLayout.SOUTH);
jf.setBounds(300, 200, 200, 150);
jf.setVisible(true);
}
}
效果图如下: