swing学习笔记五(进度条ProgressMonitor )
2012-09-06 22:44
323 查看
/**
* 进度条
*
* @time 3:30:01 PM
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
public class Test_ProgressMonitorExample extends JPanel {
private static final long serialVersionUID = 1L;
ProgressThread1 progressThread1;
static JFrame myFrame;
/**
* 构造器
*/
public Test_ProgressMonitorExample() {
setLayout(new BorderLayout());
JPanel Panel = new JPanel();
JButton btnStart = new JButton("Start");
Panel.add(btnStart);
// 开始按钮
btnStart.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// 开始加载
startRunning();
}
});
// 结束按钮
JButton btnStop = new JButton("Stop");
Panel.add(btnStop);
btnStop.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// 停止加载
stopRunning();
}
});
add(Panel, BorderLayout.SOUTH);
}
public static void main(String[] args) {
myFrame = new JFrame("");
Test_ProgressMonitorExample example = new Test_ProgressMonitorExample();
myFrame.getContentPane().add("Center", example);
myFrame.setSize(200, 100);
myFrame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
myFrame.setVisible(true);
}
/**
* 开始加载
*/
public void startRunning() {
if (null == progressThread1 || progressThread1.isAlive()) {
progressThread1 = new ProgressThread1(this);
progressThread1.start();
}
}
/**
* 停止加载
*/
public void stopRunning() {
progressThread1.setStop(true);
}
}
/**
* 自定义进度线程
*/
class ProgressThread1 extends Thread {
// 操作进度的类
ProgressMonitor monitor;
boolean stopStatus = false;// 状态位
// 最大值 和最小值
int min = 0;
int max = 50;
/**
* 构造器
*/
ProgressThread1(Component parent) {
monitor = new ProgressMonitor(parent, "Progress of Thread", "Not Started", min, max);
}
/**
* 停止进度
*/
public void setStop(boolean value) {
stopStatus = value;
}
@Override
public void run() {
monitor.setNote("Started");
for (int x = min; x <= max; x++) {
if (stopStatus) {
monitor.close();
break;
} else {
monitor.setProgress(x);
monitor.setNote("" + (x * 2) + "%");
try {
sleep(100);
} catch (Exception e) {
}
}
}
}
}
* 进度条
*
* @time 3:30:01 PM
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
public class Test_ProgressMonitorExample extends JPanel {
private static final long serialVersionUID = 1L;
ProgressThread1 progressThread1;
static JFrame myFrame;
/**
* 构造器
*/
public Test_ProgressMonitorExample() {
setLayout(new BorderLayout());
JPanel Panel = new JPanel();
JButton btnStart = new JButton("Start");
Panel.add(btnStart);
// 开始按钮
btnStart.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// 开始加载
startRunning();
}
});
// 结束按钮
JButton btnStop = new JButton("Stop");
Panel.add(btnStop);
btnStop.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// 停止加载
stopRunning();
}
});
add(Panel, BorderLayout.SOUTH);
}
public static void main(String[] args) {
myFrame = new JFrame("");
Test_ProgressMonitorExample example = new Test_ProgressMonitorExample();
myFrame.getContentPane().add("Center", example);
myFrame.setSize(200, 100);
myFrame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
myFrame.setVisible(true);
}
/**
* 开始加载
*/
public void startRunning() {
if (null == progressThread1 || progressThread1.isAlive()) {
progressThread1 = new ProgressThread1(this);
progressThread1.start();
}
}
/**
* 停止加载
*/
public void stopRunning() {
progressThread1.setStop(true);
}
}
/**
* 自定义进度线程
*/
class ProgressThread1 extends Thread {
// 操作进度的类
ProgressMonitor monitor;
boolean stopStatus = false;// 状态位
// 最大值 和最小值
int min = 0;
int max = 50;
/**
* 构造器
*/
ProgressThread1(Component parent) {
monitor = new ProgressMonitor(parent, "Progress of Thread", "Not Started", min, max);
}
/**
* 停止进度
*/
public void setStop(boolean value) {
stopStatus = value;
}
@Override
public void run() {
monitor.setNote("Started");
for (int x = min; x <= max; x++) {
if (stopStatus) {
monitor.close();
break;
} else {
monitor.setProgress(x);
monitor.setNote("" + (x * 2) + "%");
try {
sleep(100);
} catch (Exception e) {
}
}
}
}
}
相关文章推荐
- swing学习笔记五(进度条ProgressMonitor )
- Java学习笔记之Swing(一)
- swing 学习笔记七(菜单MenuBar )
- JAVASE学习笔记:第十章 SWing常用控件类(一)
- 【Cocos2d-html5游戏引擎学习笔记(13)】ProgressAction进度计时器
- Cocos2d-x学习笔记(14)(更新函数scheduleUpdate、进度计时器CCProgressTo、滚动视图CCScrollView)
- Java学习笔记之 swing 基本实现QQ截屏功能
- Java学习笔记之swing 单击事件mouseClicked与一般事件actionPerformed区别
- Bootstrap源码学习笔记之bootstrap进度条
- SWING 学习笔记(1)
- Java GUI学习笔记之初识AWT和Swing
- Bootstrap学习笔记之进度条、媒体对象实例详解
- Framework7新版学习笔记之 进度条
- AsyncTask异步任务学习笔记(二、ProgressBar返回加载进度)
- Cocos2dx学习笔记12:cocos2dx进度条(ProgressTimer)
- SWT学习笔记(2)——转载倪大鹏的“SWT:AWT和SWING的强大竞争者”
- Java学习笔记之swing文件选取器 例子 (4种读写文件方式-和图片的读写方法)
- AWT与Swing的学习笔记
- swing 学习笔记八(列表JList )
- Swing学习笔记之ButtonGroup