Java进度条JProgressBar使用方法
package swimg;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
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 implements ActionListener,ChangeListener {
JFrame frame=null;
JProgressBar progressbar;
JLabel label;
Timer timer;
JButton b;
public ProgressBar(){
frame=new JFrame("安装");
frame.setBounds(100, 100, 400, 130);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container contentPanel=frame.getContentPane();
label=new JLabel("",JLabel.CENTER);
progressbar = new JProgressBar();
progressbar.setOrientation(JProgressBar.HORIZONTAL);
progressbar.setMinimum(0);
progressbar.setMaximum(100);
progressbar.setValue(0);
progressbar.setStringPainted(true);
progressbar.addChangeListener(this);
progressbar.setPreferredSize(new Dimension(300,20));
progressbar.setBorderPainted(true);
progressbar.setBackground(Color.pink);
JPanel panel=new JPanel();
b=new JButton("安装");
b.setForeground(Color.blue);
b.addActionListener(this);
panel.add(b);
timer=new Timer(100,this);
contentPanel.add(panel,BorderLayout.NORTH);
contentPanel.add(progressbar,BorderLayout.CENTER);
contentPanel.add(label,BorderLayout.SOUTH);
//frame.pack();
frame.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==b){
timer.start();
}
if(e.getSource()==timer){
int value=progressbar.getValue();
if(value<100)
progressbar.setValue(++value);
else{
timer.stop();
frame.dispose();
}
}
}
public void stateChanged(ChangeEvent e1) {
int value=progressbar.getValue();
if(e1.getSource()==progressbar){
label.setText("目前已完成进度:"+Integer.toString(value)+"%");
label.setForeground(Color.blue);
}
}
public static void main(String[] args) {
ProgressBar app=new ProgressBar();
}
}
分享到:
相关推荐
这个是关于java中Frame中JProgressBar进度条的使用,一个弹窗小案例,希望大家喜欢
Java进度条是指在Java GUI开发中,使用JProgressBar组件来显示进度的控件。JProgressBar可以显示进度的百分比,例如下载文件、安装软件等过程中,JProgressBar可以实时显示当前进度。 在本例中,我们使用了...
通过读取文件来演示JProgressBar的功能!
使用JProgressBar和SwingWorker做的Java进度条 简单方便 效果看这里:http://blog.csdn.net/kakashi8841/archive/2011/05/03/6388797.aspx
主要介绍了Java Swing JProgressBar进度条的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
可以使用两种方法显示和操作进度条。 在程序风格中,函数waitdialog 封装了Java Swing GUI 类JProgressBar 以增强视觉体验,但在功能上类似于内置函数waitbar。 在面向对象的风格中,ProgressDialog 是一个类,它...
JAVA JProgressBar的使用方式
学生提问:当我们使用编译C程序时,不仅需要指定存放目标文件的位置,也需要指定目标文件的文件名,这里使用javac编译Java程序时怎么不需要指定目标文件的文件名呢? 13 1.5.3 运行Java程序 14 1.5.4 根据...
进度条 带线程的JProgressbar 结果/输出 进度条
* JProgressBar:进度条。 * Thread:线程,负责更新进度条。 * Runnable:运行线程。 3. 类 runtime: 类 runtime 负责实现时间同步功能,包括获取当前时间、设置时间等。该类的成员变量包括: * getCurrentTime...
JProgressBar jpb;//定义进度条 JLabel jl1;//用于在窗体的北部放一张图片,南部是进度条 int width,height;//用于获取显示屏分辨率大小 public static void main(String []args){ Index index=new Index(); ...
Java制作带Loading加载效果的软件启动界面,Thread splashThread; //进度条更新线程 JProgressBar progress; //进度条 public JWindowDemo() { Container container=getContentPane(); //得到容器 ...
使用 invokeLater 方法可以确保更新进度条和输入框的操作是在 EDT 中执行的,从而避免了线程安全问题。同时,这也可以避免阻塞 EDT,导致画面卡住无法操作。 在实际开发中,我们需要注意 Swing 的线程模型,确保...
16.4.9 防止错误的使用wait、notify、notifyAll方法 371 16.5 获取当前正在运行的线程 372 16.6 volatile关键字的含义与使用 372 16.7 小结 373 第17章 高级线程开发 374 17.1 线程池的使用 374 17.1.1...
Java 图形界面开发简介 .............. ................................ ................................ ..... 5 1. Swing1. Swing1. Swing 1. Swing1. Swing1. Swing1. Swing简介 ..............................