swing登陆程序的异步loading效果,避免程序假死状态?swing 后台操作事件长 , 界面如何显示正在等待?
2015-12-16 09:49
549 查看
swing登陆程序的异步loading效果,避免程序假死状态?swing 后台操作事件长 , 界面如何显示正在等待?
在Java 桌面应用程序开发中,使用swing 进行后台操作时,如果后台执行反应时间长,那么界面就会出现假死状态,swing 给出了这样的解决方案:SwingWorker, 它就是解决后台操作时间过长,导致用户体验差这个事情的。对于一般不是超长时间处理,但又不想卡住界面的场景,SwingWorker是最合适的。如果是超长时间处理,则可以在SwingWorker任务执行后,起一个model的对话框,做一个进度条,SwingWorker也可以通过中间过程和进度条交互。
本文解决非超长时间处理的场景,你可以新建一个类SwingWorkerTest实现SwingWorker接口,并实现它的done()方法和doInBackground()方法。或者直接在单击按钮的监听事件中,直接new SwingWorker:
//参数解释: T:表示做完后台操作需要返回的对象,例如我下面的ReturnCode.V:一般用Void表示,形如下面我的例子。
//doInBackground()方法是你想在后台进行的操作,例如登陆验证操作,我们可以在doInBackground()方法中放置一个gif的动态loading状态图标签,当单击按钮的时候,它会执行doInBackground方法,执行完毕后,再执行done()方法。我们在done方法中做的操作就是参数的传递和关闭当前的Login窗体、显示主窗体。
帮助
swing登陆程序的异步loading效果,避免程序假死状态?swing 后台操作事件长 , 界面如何显示正在等待?
在Java 桌面应用程序开发中,使用swing 进行后台操作时,如果后台执行反应时间长,那么界面就会出现假死状态,swing 给出了这样的解决方案:SwingWorker, 它就是解决后台操作时间过长,导致用户体验差这个事情的。对于一般不是超长时间处理,但又不想卡住界面的场景,SwingWorker是最合适的。如果是超长时间处理,则可以在SwingWorker任务执行后,起一个model的对话框,做一个进度条,SwingWorker也可以通过中间过程和进度条交互。
本文解决非超长时间处理的场景,你可以新建一个类SwingWorkerTest实现SwingWorker接口,并实现它的done()方法和doInBackground()方法。或者直接在单击按钮的监听事件中,直接new SwingWorker:
//参数解释: T:表示做完后台操作需要返回的对象,例如我下面的ReturnCode.V:一般用Void表示,形如下面我的例子。
//doInBackground()方法是你想在后台进行的操作,例如登陆验证操作,我们可以在doInBackground()方法中放置一个gif的动态loading状态图标签,当单击按钮的时候,它会执行doInBackground方法,执行完毕后,再执行done()方法。我们在done方法中做的操作就是参数的传递和关闭当前的Login窗体、显示主窗体。
帮助
相关文章推荐
- MySQL Community Server 5.7 的数据备份
- HDU 5592(ZYB's Premutation-线段树)
- android 手势应用之我的第一个Demo APP
- (转)C# foreach 中获取索引index的方法
- .vimrc配置
- 使用phpQuery轻松采集网页内容
- C++命名空间namespace
- oracle中replace函数的使用
- PreTranslateMessage 与 WindowProc 的关系
- Activity+Viewpager 延迟加载
- centos6.5远程桌面连接
- Android蓝牙开发
- macOS下php(一)搭建
- 如何解决电脑ip地址冲突的问题
- C++ 类模板不能实现分离式编译
- New Hire Training Experience
- 【解决方案】: hyper-v 导入虚拟机报这个错误 32784
- MVC过滤器详解
- ios开发——点击空白处隐藏键盘的几种方法
- CentOS7 RedHat7 添加静态路由方法