| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
fmms
13年前发布

java swing 制作进度条-- 模拟卸载,附效果图

    利用timer和progressbar外加两个按钮制作的小程序,点击start按钮开始卸载,点击stop停止。

代码如下:


-----------------------------------------------以下是代码区--------------------------------------------------------------------------

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 ProgressBar extends JFrame implements ChangeListener, ActionListener {    JButton start, stop;  JProgressBar bar;  JLabel show;  JPanel pane, pane1;  Timer timer;    public ProgressBar(String title) {  super(title);  init();  pack();  }    public void init() {  setBounds(300, 100, 300, 100);  pane = new JPanel();  pane.setLayout(new BorderLayout());  getContentPane().add(pane);    start = new JButton("start");  start.addActionListener(this);  stop = new JButton("stop");  stop.addActionListener(this);  pane1 = new JPanel();  pane1.add(start);  pane1.add(stop);    bar = new JProgressBar();  bar.setMinimum(0);  bar.setMaximum(100);  bar.setValue(100);  bar.setStringPainted(true);  bar.addChangeListener(this);  bar.setPreferredSize(new Dimension(200, 30));  int leave = 100 - bar.getValue();  show = new JLabel("已完成:" + leave, JLabel.CENTER);    pane.add(pane1, BorderLayout.NORTH);  pane.add(bar, BorderLayout.CENTER);  pane.add(show, BorderLayout.SOUTH);    timer = new Timer(50, this);  }      @Override  public void stateChanged(ChangeEvent e) {  // TODO Auto-generated method stub  int value = bar.getValue();  int leave = 100-value;  if(e.getSource() == bar) {  show.setText("已完成:"+ leave +"%");  }  }      @Override  public void actionPerformed(ActionEvent e) {  // TODO Auto-generated method stub  if(e.getSource() == start) {  timer.start();  } else if(e.getSource() == stop) {  timer.stop();  bar.setValue(0);  } else if(e.getSource() == timer) {  int value = bar.getValue();  if(value > 0) {  value--;  bar.setValue(value);  }  }  }    public static void main(String[] args) {  new ProgressBar("uninstall").setVisible(true);  }    }

----------------------------- 以上是代码区 --------------------------------------------------

运行效果如下:

     ---------》  ------------》

注:本代码可以直接copy运行

转自:http://blog.csdn.net/lucherr/article/details/7430987

 本文由用户 fmms 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1333678540702.html
Swing Java开发