用JAVA实现线程等待提示框

2016-02-19 12:43 6 1 收藏

图老师小编精心整理的用JAVA实现线程等待提示框希望大家喜欢,觉得好的亲们记得收藏起来哦!您的支持就是小编更新的动力~

【 tulaoshi.com - 编程语言 】

Java语言从其诞生到现在不过短短五年时间,却已经成为全球最热门的语言,Java程序员正成为IT业其它程序员中薪金最高的职员。这一切都应归功于Java良好的特性:简单、面向对象、分布式、平台无关性、可移植性、支持多线程等等。本文将用Java的多线程特性来实现线程等待提示框。

1、问题的提出

在Java应用程序编程中,有时需要在GUI(图形化用户界面)中处理一些占用系统资源较多,耗费时间较长的事务,例如:与数据库进行大批量数据交换、大数据量的复杂运算、远程连接服务器等等。系统在处理这些事务时,假如还是使用GUI所在的线程,会导致界面冻结,无法刷新,看起来好象系统已经崩溃,这是一个良好的软件系统不答应出现的局面。

2、解决问题的途径

解决上述问题的方法就是采用Java的多线程特性,为这些耗时又耗资源的事务再开一个线程单独运行,并在GUI处出现提示框正在执行,请等待,在线程结束时自动关闭该提示框。这样即避免了上面出现的界面冻结情况,又保证了线程的安全性,是软件开发者上佳的选择。

3、具体实现
(1)例子
这里举一个简单的例子来介绍如何用JAVA实现线程等待提示框。
此例实现一个很简单的GUI,根窗体testFrame是一个JFrame(框架)类,在testFrame中放置一个JPanel(面板):testPanel ,最后将一个JButton(按钮):testButton添加到testPanel中。
按下testButton,系统开始运行一个模拟的耗时又耗资源的事务:在标准输出设备上显示从1到100000,同时出现线程正在运行提示框,一旦事务完成(即线程结束),系统自动关闭该提示框。
(2)实现方法
为了达到上述功能,可以这样来实现:
当按下按钮后,启动一个新的线程来完成事务,即在标准输出设备上显示从1到100000(在代码中通过TestThread类来实现),紧接着再启动一个线程来显示线程正在运行提示框(在代码中通过ThreadDiag类来实现)。
为了使提示框在TestThread结束后,自行关闭,在TestThread启动后,还启动了一个DisposeDiag线程,这个线程专门用来等待TestThread线程结束后,关闭线程正在运行提示框。
(3)程序代码及注释
① TestFrame类
TestFrame是Java运行主程序,用来显示用户界面。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)
import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    public class TestFrame extends JFrame
    {
     //GUI所需组件
     public JPanel testPanel = null;
     public JButton testButton = null;
     public JFrame testFrame = null;
     public TestFrame()
     {
    //设置GUI为windows风格
    try
    {
     UIManager.setLookAndFeel(
     "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
    }
    catch (Exception ex)
    {
     System.out.println(Exception: + ex);
    }
    testFrame = this;
  
 

来源:http://www.tulaoshi.com/n/20160219/1601683.html

延伸阅读
用线程实现动态改变图标 作者:cj_ict 下载本文示例代码 前几天看了一个《如何在标题栏中显示动态图标》文章,作者为重庆建设集团一所 唐星彬。觉得用SetTimer实现起来麻烦,且占用资源。手头一痒将其改为线程实现,并且把线程封装在类里。使用简单,不需要设置SetTimer在OnTimer函数里调用。...
标签: windows系统
Win8.1开机弹出syslevelup提示框怎么办 随着win8操作系统的使用越来越广泛,越来越多的电脑用户都准备将自己的电脑升级Win8的操作系统,但是WIN8.1开机弹出syslevelup提示框怎么办,大家都并不是特别了解,下面图老师小编就来介绍一下WIN8.1开机弹出syslevelup提示框的解决方法,希望对大家有所帮助。 以下为WIN8.1开机弹出syslevelu...
标签: Web开发
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" html xmlns="http://www.w3.org/1999/xhtml" head meta http-equiv="Content-Type" content="text/html; charset=gb2312" / titlejquery div提示框渐隐弹出与隐藏/title script type="text/javascript" src="http:/...
标签: 电脑入门
从Windows 8的推出,应该有不少的用户会去尝试使用Windows 8系统吧,但有使用WIN8的朋友问,为什么在WIN8系统里删除文件不再弹出提示框了呢?在这里图老师小编为你在解答吧。 在Windows 7中,用户如果删除一个文件,系统会弹出删除文件提示框,询问用户是否确定要把此文件放入回收站。 在Windows 8中,系统不会再弹出这个回收站警告,而是直...
在Java 语言中,提供了各种各样的输入输出流(stream),使我们能够很方便的对数据进行操作,其中,管道(pipe)流是一种非凡的流,用于在不同线程(threads)间直接传送数据。一个线程发送数据到输出管道,另一个线程从输入管道中读数据。通过使用管道,实现不同线程间的通讯。!-- frame contents -- !-- /frame contents --无需求助于类似临...

经验教程

390

收藏

78
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部