我生成了一个无模式对话框,提示用户打开一个新窗口。可以通过两种方式打开该框,可以直接从我正在编写的框架的文件菜单中打开,也可以通过我的面板插入的框架间接打开。
当我通过文件菜单直接拨打电话时,对话框会根据我的需要提供焦点。但是当我让框架间接打开对话框时,它没有应有的焦点。
在打开对话框的两种方法之间似乎没有区别,在这两种情况下都会调用一个加载函数,并且直到稍后打开对话框时才会调用5个方法。在这两种情况下,生成对话框的框架在生成框时实现。我已经尝试在使对话框可见后调用requestFocus,但它似乎没有做任何事情。
为什么对话框没有焦点的任何建议,或者我如何将焦点作为一个单独的窗口从通常具有焦点的窗口?
答案 0 :(得分:3)
在某些情况下,很难将焦点设置为预期的top-level container here,但是对于优秀的解决方法,请更好地了解camickr的Dialog Focus
答案 1 :(得分:2)
创建对话框时,尝试将主GUI设置为对话框的父级。
在第一种情况下,当您从菜单中单击时,它会自动将主GUI设置为对话框的父级,但在第二种情况下它不会。
因此,请确保在创建对话框时,始终将主GUI /窗口设置为父级。
它应该帮助大多数时间。