/**
* 进度条
*
* @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读书笔记目录旨在帮助开发者更好地理解和掌握Swing的相关知识,通过阅读和学习,可以提升在Java GUI编程上的技能。 首先,Swing是Java Foundation Classes (JFC)的一部分,它是Sun Microsystems为Java平台...
在Java Swing中实现下载文件时的进度条功能,可以为用户提供更好的交互体验,让他们了解文件下载的状态。这个功能通常涉及到线程处理、网络I/O以及Swing组件的更新。以下是一些关键知识点: 1. **Swing组件**: - ...
在Java Swing中实现文件拷贝并同时显示进度条是一项常见的任务,特别是在处理大文件时,让用户了解拷贝进度是提高用户体验的重要方式。下面我们将深入探讨如何使用Java Swing来创建这样一个功能。 首先,我们需要...
标题中的“swing不确定进度条”指的是在Swing中利用JProgressBar类的不确定模式来构建一个表示任务正在进行但无法确定剩余时间的进度条。这种模式下,进度条将以一种连续循环的方式移动,直到后台任务完成。 **一、...
Swing进度条(JProgressBar)是Java Swing库中的一个组件,用于在用户界面中显示某个操作的进度。它常用于长时间运行的任务,如文件下载、数据处理或网络通信,为用户提供反馈,让他们知道程序仍在运行并且可以预期...
在Swing中,进度条(JProgressBar)是其中一个非常实用的组件,通常用于显示一个任务的进度,让用户了解程序执行的状态。这篇博客可能详细介绍了如何在Java Swing中使用进度条以及相关组件。 首先,我们来看`...
Swing进度条(JProgressBar)是Java Swing库中用于显示任务进度的重要组件。它在用户界面中提供了一种可视化的方式,让用户了解后台处理任务的状态,从而增加用户体验的友好性。这篇博客文章“swing进度条demo”很...
### Java Swing 知识总结学习笔记 #### 一、Swing 概述 Swing 是一个用于构建桌面应用程序的 Java 图形用户界面 (GUI) 工具包,它基于 Java Abstract Window Toolkit (AWT) 构建而成。Swing 提供了更丰富的组件集...
### Java Swing 学习笔记详解 #### 一、引言 在Java图形用户界面(GUI)编程领域,Swing 是一个强大的工具包,用于构建功能丰富且美观的应用程序界面。与早期的 AWT(Abstract Window Toolkit)相比,Swing 提供了...
NULL 博文链接:https://yshjava.iteye.com/blog/1326539
在这个"java swing 学习资料"中,我们可以通过提供的源码来深入理解Swing的基本用法和实践技巧。 Swing 包含了各种组件,如按钮(JButton)、文本框(JTextField)、标签(JLabel)、面板(JPanel)、滚动窗格(JScrollPane)...
在Swing中,虽然没有内置的圆形进度条,但可以使用`javax.swing.JComponent`和`java.awt.Graphics`类来自定义组件。基本思路与JavaFX类似,只是绘图API不同。 在压缩包`CircleProgressBar`中,可能包含了一个实现...
### Swing读书笔记:深入理解Swing的包与版面结构 #### Swing的常用包解析 Swing作为Java中用于创建图形用户界面(GUI)的主要库,提供了丰富的组件和功能,其核心包及其作用如下: 1. **`javax.swing`**: - 这是...
### 进度条使用说明:Java Swing中的JProgressBar与ProgressMonitor深入解析 #### JProgressBar:构建动态进度显示 在Java的Swing库中,`JProgressBar`类是用于创建和控制进度条显示的重要组件。进度条是用户界面...
### Java Swing 组件:JList 学习笔记 #### JList 概述 JList 是 Java Swing 中的一个重要组件,用于展示列表项。它能够帮助开发者实现数据的动态展示、编辑以及选择等功能,广泛应用于各种桌面应用软件界面设计中...
Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司的一部分)于1995年发布。...Java学习笔记涵盖了这些核心知识点,通过深入学习和实践,你可以逐步掌握Java编程,并应用于实际项目开发中。
本项目涉及的知识点主要集中在使用Swing实现一个进度条,同时将Excel和TXT文本数据上传到MySQL数据库的过程。下面将对这些技术点进行详细阐述。 1. **Swing组件**: Swing是Java的图形用户界面(GUI)工具包,提供了...
这篇“SwingHacks学习笔记(2)-----自定义JLabel,JButton”博客文章深入探讨了如何利用Swing自定义组件,特别是JLabel和JButton,以实现更丰富的用户交互。 JLabel是Swing中用于显示文本、图像或两者组合的基本组件...