2

動的プロキシ(java.lang.reflect.Proxy)を作成すると、OS X(少なくとも10.7および10.8)は、プロキシを作成したJavaアプリケーションに焦点を合わせます。

私が作成したプロキシは、外部プロセスを開始するオブジェクトをラップします。この外部プロセスはフォーカスを持っていることを期待しており、Javaプロセスがフォーカスを盗むと物事は失敗します。

OS XがJavaプロセスをドックにプロモートしているように見えます。これが、他のアプリケーションからフォーカスを奪う理由です。誰かがこれを防ぐ方法を知っていますか?

4

1 に答える 1

3

コードが AWT サブシステムと関係がある場合は、通常、Mac Java アプリのドック アイコンが表示されます。これには、JFrame.

Java コードで実際に GUI コンポーネントを表示する必要がない場合は、システム プロパティjava.awt.headlessを文字列に設定trueして、ネイティブ ウィンドウ システムが起動しないようにすることができます (ただし、このオプションを設定して実行した後、ネイティブ GUI を使用すると例外が発生します)。

于 2012-10-23T10:47:11.803 に答える