编程语言
首页 > 编程语言> > java-Swing:窃取其他应用程序的焦点(在OS X中的可用性)

java-Swing:窃取其他应用程序的焦点(在OS X中的可用性)

作者:互联网

我在Java swing中有一个应用程序,该应用程序大多数时候都在系统托盘中运行.用户可以使用“纸盘菜单”执行一些操作.这些动作之一是显示应用程序窗口.我的问题是OS X上的可用性.

在Windows中,如果用户调出应用程序窗口并随后切换到另一个应用程序,则他们可以使用任务栏切换回我的应用程序.但是在OS X中,该应用程序以没有菜单且也不会出现在“命令选项卡”列表中的模式运行.

__LSUIElement在info.plist文件中设置为true

所以我的问题是,如果用户打开应用程序窗口,后来又切换到另一个应用程序,则除非他们单击窗口本身(可能在许多其他窗口之后),否则他们将无法切换回去.最简单的方法是让用户使用任务栏图标再次打开窗口,但是由于窗口已经打开,因此我无法将其置于前面.

那么,如何使我的注意力从其他应用程序转移到前面呢?

编辑:

我的问题不是让“应用程序作为代理运行”.我已经有工作了.我要解决的问题是在创建程序窗口时将其移至顶部.我无法在Java中执行此操作.

解决方法:

当用户单击菜单栏中的图标时,可以使用true参数调用activateIgnoringOtherApps:(或打开窗口).不过,您必须从Java入手Cocoa.

标签:system-tray,swing,info-plist-2,java,macos
来源: https://codeday.me/bug/20191209/2097571.html