Java语言从其诞生到现在不过短短五年时间 却已经成为全球最热门的语言 Java程序员正成为IT业其它程序员中薪金最高的职员 这一切都应归功于Java良好的特性 简单 面向对象 分布式 平台无关性 可移植性 支持多线程等等 本文将用Java的多线程特性来实现线程等待提示框
问题的提出
在Java应用程序编程中 有时需要在GUI(图形化用户界面)中处理一些占纯野用系统资源较多 耗费时间较长的事务 例如 与数据库进行大批量数据交换 大数据量的复杂运算 远程连接服务器等等 系统在处理这些事务时 如果还是使用GUI所在的线程 会导致界面冻结 无法刷新 看起来好象系统已经崩溃 这是一个良好的软件系统不允许出现的局面
解决问题的途径
解决上述问题的方法就是采用Java的多线握裤辩程特性 为这些耗时又耗资源的事务再开一个线程单独运行 并在GUI处出现提示框 正在执行 请等待 在线程结束时自动关闭该提示框 这样即避免了上面出现的界面冻结情况 又保证了线程的安全性 是软件开发者上佳的选择
具体实现
( )例子
这里举一个简单的例子来介绍如何段缺用JAVA实现线程等待提示框
此例实现一个很简单的GUI 根窗体testFrame是一个JFrame(框架)类 在testFrame中放置一个JPanel(面板) testPanel 最后将一个JButton(按钮) testButton添加到testPanel中
按下testButton 系统开始运行一个模拟的耗时又耗资源的事务 在标准输出设备上显示从 到 同时出现 线程正在运行 提示框 一旦事务完成(即线程结束) 系统自动关闭该提示框
( )实现方法
为了达到上述功能 可以这样来实现
当按下按钮后 启动一个新的线程来完成事务 即在标准输出设备上显示从 到 (在代码中通过TestThread类来实现) 紧接着再启动一个线程来显示 线程正在运行 提示框(在代码中通过ThreadDiag类来实现)
为了使提示框在TestThread结束后 自行关闭 在TestThread启动后 还启动了一个DisposeDiag线程 这个线程专门用来等待TestThread线程结束后 关闭 线程正在运行 提示框
lishixinzhi/Article/program/Java/gj/201311/27675自己作一个模态对话框,添加鼠标瞎伏码磨哪厅搏事件。
class ModelDialog extends JDialog implements MouseListener {
public ModelDialog() {
addMouseListener(this)
setSize(200, 100)
setModal(true)
this.setVisible(true)
}
public void mouseClicked(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mousePressed(MouseEvent e) {
setVisible(false)
}
public void mouseReleased(MouseEvent e) {
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)