【问题标题】:Forcing a java app to become the focused window强制 Java 应用程序成为焦点窗口
【发布时间】:2011-09-11 20:36:51
【问题描述】:

是否有可能编写一些东西,每隔三十秒左右自动让一个 java 应用程序成为焦点窗口,或者这需要在操作系统级别完成吗?

【问题讨论】:

  • 这听起来像是您可以对您的用户做的最可怕的事情之一。相当于一个唠叨的孩子,每隔几秒钟就需要父母的关注。您有什么正当理由想要这样做吗?
  • 我已经编写了几个应用程序,这些应用程序是机器存在的原因 - 考虑监控某些系统。在这些情况下,这是一种有效的技术。
  • 但是窗口应该隐藏的唯一方法是因为用户隐藏了它(比如因为他必须实际修复监控系统检测到的问题;)))出于某种原因。我的意思是,如果这是机器存在的原因,那么有人将不得不定期检查显示器并且无论如何都会注意到它?无论如何,我认为你能期望的最好的就是你可以将它们放在同一个 VM 的窗口上方。对于更全球化的东西,我怀疑只有 java 的解决方案会起作用。
  • @Voo,它是一个单一用途的机器,它是一个运行用户与之交互的 java 应用程序的 VM,我们有一个调试窗口来捕获控制台输出并且用户正在关闭它,导致应用程序关闭而不调用它的关闭挂钩。这些机器没有鼠标或键盘,只能使用触摸屏应用程序,仅此而已。这些机器运行一个小型 linux 发行版,它只是启动一个远程桌面连接,每当机器进入省电模式时,它都会导致显示错误,从而最小化导致工作人员感到困惑并关闭控制台窗口的应用程序。
  • 将调试输出发送到文件,并使用 tail -f 监控它...禁用节能 :-) 并在发生重要事情时将窗口弹出到前面。

标签: java swing window


【解决方案1】:

你可以试试this

【讨论】:

  • Component.requestFocus() 以及
  • 我会在 Swing Timer 中调用它,但 toFront() 可能不适用于所有操作系统(请参阅 API 了解详细信息)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-15
相关资源
最近更新 更多