Java 使用modal Swing时,如何在Windows PC上获得鼠标焦点?
我需要在windows 10计算机上拖动没有键盘焦点的窗口。我的电脑上的Swing函数拒绝在同一java应用程序中的所有窗口上使用“鼠标焦点”;它们被锁在外面,不被移动或打开以供查看 最新的Swing对话框窗口控制显示;当被另一个应用程序窗口覆盖时,需要查看的任何其他窗口(帮助回答对话框)都不可用。在Mac/OSX上,鼠标焦点不是问题;所有的窗户似乎都有 当使用方便的模式摆动功能时,有没有办法在PC上获得这种“鼠标焦点” 我的应用程序中出现问题的3个窗口是:Java 使用modal Swing时,如何在Windows PC上获得鼠标焦点?,java,windows,swing,modal-dialog,focus,Java,Windows,Swing,Modal Dialog,Focus,我需要在windows 10计算机上拖动没有键盘焦点的窗口。我的电脑上的Swing函数拒绝在同一java应用程序中的所有窗口上使用“鼠标焦点”;它们被锁在外面,不被移动或打开以供查看 最新的Swing对话框窗口控制显示;当被另一个应用程序窗口覆盖时,需要查看的任何其他窗口(帮助回答对话框)都不可用。在Mac/OSX上,鼠标焦点不是问题;所有的窗户似乎都有 当使用方便的模式摆动功能时,有没有办法在PC上获得这种“鼠标焦点” 我的应用程序中出现问题的3个窗口是: 对话框:最新的Swing对话框,包含
对于许多情况,我发现了一个相当简单的解决方法:识别阻塞器窗口,然后在它可能是阻塞器并且不再需要时(可能是暂时的)去掉它的聚焦性
java.awt.Frame blocker = this; // or <parent> <grandparent>, etc.
blocker.setFocusable(false);
java.awt.Frame blocker=this;//或。
阻塞器。可设置聚焦(假);
这不会使拦截器或被拦截器窗口可移动,但可以通过防止阻塞来消除问题。也许有一天在Windows 10中会有更好的解决方案。我从来没有遇到过拖动模态JDialog的问题。张贴您的演示问题。是的,当您打开模态JDialog时,基础JFrame无法在Windows 10上移动。或者使你的JCube更小,这样它就可以被移走,或者将信息从JFrice复制到J对话框,这样用户就不必再引用JFrice了。不幸的是,Le Blanc先生所说的看起来是正确的。我编辑了我的问题以激发更好的选择。