- 浏览: 65823 次
- 性别:
- 来自: 江西
最新评论
package com.jkds.sxltquery.onetaxpayer;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.border.LineBorder;
import java.lang.reflect.InvocationTargetException;
/**
* Created by IntelliJ IDEA.
* User: Administrator
* Date: 2009-7-5
* Time: 16:24:34
* To change this template use File | Settings | File Templates.
*/
public class SliderDemo extends JFrame {
JProgressBar progressBar;
JButton startButton;
JButton stopButton;
JTextArea output;
private int num = 50;//default number
Object lock = new Object();
boolean shouldStop;//should thread to be stopped
Thread myThread;
public static void main(String[] args) {
SliderDemo frame = new SliderDemo();
frame.pack();
frame.setVisible(true);
}
public SliderDemo() {
setTitle("Demo of Slider");
Container content = getContentPane();
//value is from 0 to 100,initial value is 50
JSlider slider = new JSlider(JSlider.HORIZONTAL, 0, 100, num);
slider.addChangeListener(new SliderListener());
slider.setMajorTickSpacing(10);
slider.setMinorTickSpacing(2);
slider.setPaintTicks(true);
slider.setPaintLabels(true);
ButtonListener buttonListener = new ButtonListener();
startButton = new JButton("Start");
startButton.addActionListener(buttonListener);
stopButton = new JButton("Stop");
stopButton.addActionListener(buttonListener);
progressBar = new JProgressBar();
progressBar.setValue(0);
progressBar.setStringPainted(true);
//use textarea to show the counter
output = new JTextArea(5, 20);
output.setMargin(new Insets(5, 5, 5, 5));
output.setEditable(false);
JScrollPane scrollPane = new JScrollPane(output);
JPanel panel = new JPanel();
panel.add(startButton);
panel.add(stopButton);
panel.add(progressBar);
content.add(slider, BorderLayout.NORTH);
content.add(scrollPane, BorderLayout.CENTER);
content.add(panel, BorderLayout.SOUTH);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
//listener to the start button
class ButtonListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
//start the task
if (event.getSource() == startButton) {
startButton.setEnabled(false);
if (myThread == null) {
myThread = new TaskThread(num);//create a task thread
shouldStop = false;
myThread.start();//start the task thread
}
} else {//end the task
synchronized (lock) {
shouldStop = true;
lock.notify();//notify thread if stopped
}
}
}
}
//listen to the slider
class SliderListener implements ChangeListener {
public void stateChanged(ChangeEvent e) {
JSlider source = (JSlider) e.getSource();
if (!source.getValueIsAdjusting()) {
num = (int) source.getValue();
}
}
}
//task will be executed in a thread and monitored by a progress bar
class TaskThread extends Thread {
private int max;
public TaskThread(int max) {
this.max = max;
}
public void run() {
int min = 0;
progressBar.setValue(min);
progressBar.setMinimum(min);
progressBar.setMaximum(max);
Runnable runner = new Runnable() {
public void run() {
int value = progressBar.getValue();
value++;//increase counter value
progressBar.setValue(value);//change current value of progress bar
output.setText("Number:" + value);
}
};
for (int i = min; i < max; i++) {
try {//block until AWT events hava been processed
SwingUtilities.invokeAndWait(runner);
} catch (InvocationTargetException e) {
break;
} catch (InterruptedException e) {
//Ignore Exception
}
synchronized (lock) {
if (shouldStop)//check if Stop is pressed
break;
try {
lock.wait(100);
} catch (InterruptedException e) {
//Ignore Exception
}
}
}
startButton.setEnabled(true);//enable button
myThread = null;
}
}
}
http://www.java-cn.com/bbs-jsp/show.jsp?id=43385
发表评论
-
ChartDirector开发实例
2009-06-20 00:07 3120http://www.iteye.com/topic/410 ... -
Struts学习笔记
2009-05-31 10:17 833Struts学习笔记 http://topic ... -
jdk,tomcat环境变量配置[转]
2009-04-14 16:04 1309jdk,tomcat环境变量配置[转] 比如:jdk目录: ... -
java中解析xml
2008-11-06 17:10 2243public class Test { public ... -
Struts 项目中web.xml文件配置
2008-03-22 13:58 3282http://blog.csdn.net/songqiu/ar ... -
list 与数组的转换,关系
2008-02-20 16:21 1362=====list 与数组的转换 List--》数组 ... -
split()函数----分隔字符串的函数
2008-02-19 09:34 1024String str = "true|false&q ... -
WEB开发技术比较(PHP和Java的Web开发--转locoray)
2007-09-13 16:34 1239WEB开发技术比较 ... -
java试题
2007-08-24 11:03 1109第一,谈谈final, f ... -
java基础问答
2007-08-24 10:18 1122一、基础问答 1.下面哪些类可以被继承? java.lan ... -
java心得
2007-08-24 09:41 1212类变量:就是相同类都 ... -
Java程序员的推荐阅读书籍(转robbin)--收藏篇
2007-08-23 09:38 1300《Java程序员的推荐阅读书籍》 JavaEye (http: ... -
Java学习从入门到精通(转robbin )--收藏篇
2007-08-23 09:11 951Java Learning Path (一)、 ...
相关推荐
Java进度条是用户界面(UI)设计中常见的一种元素,用于提供给用户关于长时间运行任务的进度反馈。在Java编程中,我们可以使用Java Swing或JavaFX库来创建进度条。以下将详细介绍如何在Java中实现进度条功能,以及...
本资源包含三个不同版本的Java进度条设计源代码:进度条.txt、进度条2.txt、进度条3.txt,它们可能代表了三种不同的实现方式或功能增强。 首先,我们要理解Java中的进度条通常是通过JProgressBar组件来实现的,它是...
实现Java进度条主要涉及GUI(图形用户界面)和多线程技术。以下是对Java进度条实现的详细解释: 1. **Swing和AWT库**:在Java中,我们通常使用Swing或AWT库来创建图形用户界面,这两个库提供了丰富的组件,包括...
Java进度条是GUI(图形用户界面)编程中一个常见的组件,通常用于在执行长时间操作时向用户显示任务的进度,从而提高用户体验。本教程将详细讲解如何在Java中使用进度条,以配合视频学习。 首先,Java中的进度条...
### Java 进度条的使用:包含暂停与继续功能 在Java编程中,进度条(`JProgressBar`)是Swing组件中一个非常实用的工具,它可以用来显示任务的完成情况,为用户提供直观的任务进度反馈。本文将详细介绍如何在Java...
进度条 3种排序功能选择 可以输入数据或产生随机数
总的来说,"Java进度条的使用"视频教程将涵盖这些概念,并通过实例演示如何在实际项目中应用。通过学习这个教程,你将能够熟练地创建和管理Java应用程序中的进度条,提升程序的交互性和用户体验。无论你是Java初学者...
总的来说,"Jindutiao.rar_java进度条" 文件提供的代码示例可能会帮助你理解和实现 Java GUI 应用中的进度条功能,无论是在 Swing 还是 JavaFX 平台上。通过学习和理解这些代码,你可以更好地掌握如何在自己的项目中...
在Java编程中,实现文件上传进度条功能是一项常见的需求,特别是在处理大文件或者批量上传时,用户界面的反馈显得尤为重要。进度条不仅提高了用户体验,也能让用户了解任务的执行状态,从而减少用户对程序运行时间的...
"java 进度条上传 源码"这个主题涉及到一个技术问题,即如何在Java Web应用程序中实现文件上传并同时显示进度条,以提供更好的用户体验。在描述中提到,此源码实例是基于JSP和SWFUpload库来实现这一功能的,同时支持...
### Java进度条实现详解 在IT项目开发中,特别是在处理大量数据或长时间运行的任务时,提供用户反馈至关重要。本文将深入探讨如何在Java项目中利用Ajax实现进度条,以提升用户体验,具体通过以下两个步骤: #### ...
### Java 实现显示进度条 #### 背景与需求 在软件开发过程中,特别是涉及到长时间运行的任务时,向用户展示任务完成进度是一项非常实用的功能。进度条是实现这一功能的一种常见方式。本文将详细介绍如何使用Java...
Java进度条程序是一种在用户界面中显示任务执行进度的图形元素,它有助于提供更好的用户体验,让用户知道后台进程的状态。在Java中实现进度条通常涉及到线程处理和GUI更新,这通常通过Swing或JavaFX库完成。在这个...
使用JProgressBar和SwingWorker做的Java进度条 简单方便 效果看这里:http://blog.csdn.net/kakashi8841/archive/2011/05/03/6388797.aspx
在Java Web开发中,制作进度条通常涉及到前端与后端的交互,以及多线程的运用。本示例以"Java 进度条制作"为主题,通过JSP(JavaServer Pages)来展示一个动态更新的进度条效果。下面将详细阐述相关知识点。 1. **...
非常实用的java进度条代码,可以很好的实现两种方法显示进度
标签中的“java_gif”和“java_进度条”强调了这个主题的核心技术,即使用Java语言处理GIF动画以及创建进度条。在实际项目中,开发者还需要考虑到性能优化,因为持续地加载和绘制GIF可能会消耗大量资源,尤其是在...
用java实现了简单的进度条显示,只有开始,无法暂停和继续,适用于再次开发。
Java进度条是指在Java GUI开发中,使用JProgressBar组件来显示进度的控件。JProgressBar可以显示进度的百分比,例如下载文件、安装软件等过程中,JProgressBar可以实时显示当前进度。 在本例中,我们使用了...
本示例主要关注的是在Java环境中使用SuperMap Objects实现数据导入时的进度条功能。进度条在用户界面设计中扮演着重要角色,它能够为用户提供实时的操作反馈,提升用户体验。 首先,让我们深入理解`iObjects Java`...