swing学习笔记五(进度条ProgressMonitor )
2012-09-06 22:44
302 查看
/**
* 进度条
*
* @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(学习笔记1.1.2)——Swing
- swing 学习笔记七(菜单MenuBar )
- 学习笔记-Java swing
- Java学习笔记之 swing 基本实现QQ截屏功能
- Java学习笔记13——Swing开发GUI程序
- Java GUI学习笔记之初识AWT和Swing
- Bootstrap学习笔记之进度条、媒体对象实例详解
- Java学习笔记--Swing
- cocos2dx 3.3 + lua 学习笔记(03)--- 触摸事件、定时器、进度条
- Git学习笔记(七) 恢复进度
- JAVASE学习笔记:第十章 SWing常用控件类(三)
- Java学习笔记之swing 单击事件mouseClicked与一般事件actionPerformed区别
- 安卓学习笔记---文件解压带进度条
- Framework7新版学习笔记之 滑动进度条
- SWING 学习笔记(1)
- Android 学习笔记之AndBase框架学习(二) 使用封装好的进度框,Toast框,弹出框,确认框...
- Java学习笔记--Swing2D图形
- SWT学习笔记(2)——转载倪大鹏的“SWT:AWT和SWING的强大竞争者”
- java swing 学习笔记(一)