swing应用开发注意事项

如何编写响应速度快的Swing 应用程序,应注意以下两点:

1。Time-consuming tasks should not be run on the Event Dispatch Thread. Otherwise the application becomes unresponsive。

      耗时任务不要放到事件调度线程(EVENT DISPATCH THREAD)上执行,否则程序就会失去响应。

2。Swing components should be accessed on the Event Dispatch Thread only. Swing

      组件只能在事件调度线程上访问。

         因此处理耗时任务时,首先要启动一个专门线程,将当前任务交给这个线程处理,而当前处理函数立即返回,继续处理后面未决的事件。

         其次,在为耗时任务启动的线程访问Swing 组件时,要使用SwingUtilties. invokeLater 或者SwingUtilities.invokeAndWait 来访问,

invokeLater 和invokeAndWait 的参数都是一个Runnable 对象,这个Runnable 对象将被像普通事件处理函数一样在事件调度线程上执行。

这两个函数的区别是,invokeLater 不阻塞当前任务线程,invokeAndWait 阻塞当前线程,直到Runnable 对象被执行返回才继续

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值