2
私はJDialogウィンドウを持っています。 私はそれをモーダルにする必要がありますが、親はJavaウィンドウではなくネイティブのWindows OSウィンドウです。 可能ですか?ネイティブシステムウィンドウを親として使用してJDialogをモーダルにすることはできますか?
私はJDialogウィンドウを持っています。 私はそれをモーダルにする必要がありますが、親はJavaウィンドウではなくネイティブのWindows OSウィンドウです。 可能ですか?ネイティブシステムウィンドウを親として使用してJDialogをモーダルにすることはできますか?
いいえ、できません。ネイティブウィンドウだけでなく、他のJVMで実行されているJavaアプリケーションによって作成されたウィンドウにも参照を行うことさえできません。
ダミーウィンドウ(ウィンドウ、フレームまたはJFrameではなく)を作成し、そのサイズを0に設定して、それをすべてのダイアログの親として使用できます。あなたの具体的な問題は何か分かりませんが、私が言及した方法が助けになることがあります。
ネイティブウィンドウへの参照を取得することが実際に不可能であることを示す参照はありますか? JNIやJNA経由でも?この男http://stackoverflow.com/questions/4809713/embed-hwnd-window-handle-in-a-jpanelには、ネイティブWindowsウィンドウのハンドルがあります。 – LarsH
明らかに、JNIはあなたが望むことをすることを可能にします。しかし、コードはクロスプラットフォームではありません。 – AlexR
私は投票者が少なくとも彼の決定を主張すべきだと思います。すべての議論が正しいかどうかは、少なくとも正直ではない。 – AlexR