📄 progressbardemo.java
字号:
//ProgressBarDemo.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ProgressBarDemo extends JFrame
{
protected int m_min = 0;
protected int m_max = 100;
protected int m_counter = 0;
protected JProgressBar jpb;
public ProgressBarDemo()
{
super("JProgressBar Demo");
jpb = new JProgressBar();
jpb.setMinimum(m_min);
jpb.setMaximum(m_max);
jpb.setStringPainted(true);
JButton start = new JButton("开始");
//添加按钮的事件监听器
start.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
//启动一个线程
new UpdateThread().start();
}
});
getContentPane().add(jpb, BorderLayout.CENTER);
getContentPane().add(start, BorderLayout.WEST);
//显示框架窗口
setSize(300,70);
setVisible(true);
}
//应用程序的入口方法
public static void main(String args[])
{
ProgressBarDemo frame=new ProgressBarDemo();
//添加框架窗口的事件监听(监听关闭框架窗口事件)
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
//正常推出Java虚拟机
System.exit(0);
}
});
}
//用于完成更新进度条的值和耗时任务的线程
class UpdateThread extends Thread
{
Runnable runme;
public UpdateThread()
{
runme=new Runnable(){
public void run(){
//更新进度条的值
jpb.setValue(m_counter);
}
};
}
public void run()
{
m_counter = m_min;
while (m_counter <= m_max) {
SwingUtilities.invokeLater(runme);
m_counter++;
try {
Thread.sleep(500); //睡眠0.5秒,模拟耗时任务的处理
}
catch (Exception ex) {}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -