我正在构建一个带有Swing GUI的Java应用程序和一项需要花费大量时间才能完成的任务(从10秒到10分钟,对仓鼠没有任何真正的控制权。)
现在我在另一个JPanel
内的JPanel
之间切换,CardLayout
布局管理员说“我正在工作”或“我已经完成“。面板之间的切换不会通知桌面有什么变化。
有没有办法通知操作系统任务已完成?
真实世界的例子:在Windows XP上它应该使任务栏按钮闪烁,在Mac OSX中它应该使停靠栏图标跳跃。
提前致谢!
答案 0 :(得分:2)
Real world examples: on Windows XP it should make the taskbar button blink,
in Mac OSX it should make the dockbar icon jump.
由于可以通知WindowAdapter
,因此今天更好地实施SystemTray(类似here),如果任务结束,则使用{{{}显示Message
状态3}}
答案 1 :(得分:0)
在GUI组件中实现Observer接口,让您的任务扩展Observable。
答案 2 :(得分:0)
虽然帖子有点旧,但我想它应该让你走在正确的轨道上:http://today.java.net/pub/a/today/2003/12/08/swing.html
它解释了如何使用JNI和Mac的备用JDirect做你想做的事。
答案 3 :(得分:-1)
没有现实世界的答案,但也许你可以为窗口标题,旧学校风格设置动画