`
tianyusong
  • 浏览: 3798 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

线程中使用javax.swing.Timer的问题。

阅读更多
这样一段代码,希望能够在执行的时候,显示一个进度条。但是每次进度条都要等到执行完了才显示出来,为什么呢?
			Progress p=new Progress(poi);
			Thread th=new Thread(p);
			try{
				th.start();
				//一段需要很长时间的代码
				//th.interrupt();
			}catch(Exception e){
				//th.interrupt();
			}


package com.ui;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import javax.swing.Timer;

public class Progress implements Runnable {
	Timer tm;
	ProgressMonitor pm;
	JFrame poi;
	int i;
	public Progress(JFrame poi){
		this.poi=poi;
	}
	public void run() {
		ActionListener actionListener=new ActionListener(){
			public void actionPerformed(ActionEvent e){
				pm.setProgress(++i==100?1:i);
			}
		};
		System.out.println(123);
		tm=new Timer(200,actionListener);
		pm=new ProgressMonitor(poi,"","正在导入,请稍候...",1,100);
		pm.setMillisToDecideToPopup(0);
		pm.setMillisToPopup(0);
		tm.start();
	}
}
分享到:
评论

相关推荐

    [Java参考文档].JDK_API 1.6

    javax.swing.event 供 Swing 组件触发的事件使用。 javax.swing.filechooser 包含 JFileChooser 组件使用的类和接口。 javax.swing.plaf 提供一个接口和许多抽象类,Swing 用它们来提供自己的可插入外观功能。 javax...

    Java计时器[文].pdf

    4. **线程安全**:`javax.swing.Timer`是Swing的一部分,它在Swing事件调度线程中触发事件,这意味着与UI交互是安全的,无需担心多线程同步问题。 5. **重复计时器**:不同于`java.util.Timer`,`javax.swing.Timer...

    JAVA_API1.6文档(中文)

    javax.swing.event 供 Swing 组件触发的事件使用。 javax.swing.filechooser 包含 JFileChooser 组件使用的类和接口。 javax.swing.plaf 提供一个接口和许多抽象类,Swing 用它们来提供自己的可插入外观功能。 ...

    Java计时器[归类].pdf

    `javax.swing.Timer`是Swing库中的一个组件,它与AWT的`java.util.Timer`不同,后者在后台线程中运行,而`javax.swing.Timer`则与Swing事件调度线程(Event Dispatch Thread, EDT)交互,确保在用户界面更新时保持...

    Javaswing多线程.zip

    在Swing中,我们通常使用`javax.swing.Timer`类来实现这种定时任务,因为它与Swing事件调度线程(Event Dispatch Thread, EDT)协同工作,确保了UI更新的线程安全。 以下是一些关于Java Swing和多线程的关键知识点...

    java jdk-api-1.6 中文 chmd

    javax.swing.event 供 Swing 组件触发的事件使用。 javax.swing.filechooser 包含 JFileChooser 组件使用的类和接口。 javax.swing.plaf 提供一个接口和许多抽象类,Swing 用它们来提供自己的可插入外观功能。 ...

    Java计时器.pdf

    总结来说,`javax.swing.Timer`是Java Swing中实现定时任务的便捷工具,它可以安全地启动和停止,且所有操作都在同一个线程中进行,保证了UI操作的线程安全。在上述代码中,`MyTimer`类展示了如何创建一个简单的计时...

    java api最新7.0

    javax.swing.event 供 Swing 组件触发的事件使用。 javax.swing.filechooser 包含 JFileChooser 组件使用的类和接口。 javax.swing.plaf 提供一个接口和许多抽象类,Swing 用它们来提供自己的可插入外观功能。 javax...

    Java 1.6 API 中文 New

    javax.swing.event 供 Swing 组件触发的事件使用。 javax.swing.filechooser 包含 JFileChooser 组件使用的类和接口。 javax.swing.plaf 提供一个接口和许多抽象类,Swing 用它们来提供自己的可插入外观功能。 javax...

    JavaAPI1.6中文chm文档 part1

    javax.swing.event 供 Swing 组件触发的事件使用。 javax.swing.filechooser 包含 JFileChooser 组件使用的类和接口。 javax.swing.plaf 提供一个接口和许多抽象类,Swing 用它们来提供自己的可插入外观功能。 ...

    [Java参考文档]

    javax.swing.event 供 Swing 组件触发的事件使用。 javax.swing.filechooser 包含 JFileChooser 组件使用的类和接口。 javax.swing.plaf 提供一个接口和许多抽象类,Swing 用它们来提供自己的可插入外观功能。 ...

    JavaAPI中文chm文档 part2

    javax.swing.event 供 Swing 组件触发的事件使用。 javax.swing.filechooser 包含 JFileChooser 组件使用的类和接口。 javax.swing.plaf 提供一个接口和许多抽象类,Swing 用它们来提供自己的可插入外观功能。 ...

    java swing的贪吃蛇代码,自己写的,没有用到线程 只用到Swing的timer类控制游戏运行

    在没有线程的情况下,开发者必须确保所有游戏状态的更新都在`Timer`的回调方法中进行,以避免并发问题。 6. **游戏逻辑**:贪吃蛇游戏的核心逻辑包括蛇的移动、食物的生成、碰撞检测和得分计算。在Swing的环境中,...

    JDK_1_6 API

    javax.swing.event 供 Swing 组件触发的事件使用。 javax.swing.filechooser 包含 JFileChooser 组件使用的类和接口。 javax.swing.plaf 提供一个接口和许多抽象类,Swing 用它们来提供自己的可插入外观功能。 ...

    swing 显示时间

    因此,我们在`TimerTask`的`run`方法中使用`SwingUtilities.invokeLater`来确保UI更新操作在EDT中执行。 总结来说,这个程序展示了如何使用Swing的`JFrame`和`JLabel`组件来创建一个简单的窗口应用,并结合多线程...

    Timer定时器的应用

    使用`javax.swing.Timer`通常包括以下几个步骤: 1. **创建Timer对象**:你需要指定定时器触发事件的间隔(以毫秒为单位)以及一个`ActionListener`,这个监听器将在每次定时器触发时被调用。 ```java ...

    基于Java的实例源码-Jav动画图标源码(显示GIF图像).zip

    3. **AnimationTimer**: Java Swing中的`javax.swing.Timer`或JavaFX的`javafx.animation.Timeline`可以用来控制GIF的帧率,实现动画效果。定时器会在特定间隔调用一个回调方法,更新显示的图像帧。 4. **ImageIO ...

Global site tag (gtag.js) - Google Analytics