gpt4 book ai didi

java - 在 Java 中创建动态代理窃取了对 OS X 的关注

转载 作者:行者123 更新时间:2023-12-04 05:27:28 25 4
gpt4 key购买 nike

创建动态代理 (java.lang.reflect.Proxy) 会导致 OS X(至少 10.7 和 10.8)将焦点放在创建代理的 Java 应用程序上。

我创建的代理包装了一个启动外部进程的对象。这个外部进程期望获得焦点,而当 Java 进程窃取焦点时,事情就会失败。

似乎 OS X 正在将 Java 进程提升到坞站,这就是它从其他应用程序中窃取焦点的原因。有谁知道如何防止这种情况?

最佳答案

如果您的代码涉及与 AWT 子系统有关的任何事情,您通常会得到一个 Mac Java 应用程序的停靠栏图标。这包括看似无害的事情,例如计算字体度量,而不仅仅是显示 JFrame 等显而易见的情况。 .

如果您的 Java 代码不需要实际显示任何 GUI 组件,您可以设置系统属性 java.awt.headless到字符串 true以防止它启动 native 窗口系统(尽管如果您使用此选项集运行,然后执行一些确实需要 native GUI 的操作,您将得到一个异常(exception))。

关于java - 在 Java 中创建动态代理窃取了对 OS X 的关注,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13028316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com