![]() |
1
4
如果你能点击它的外部并发生“某些事情”,它就不是一个模式对话框。所有的答案都是正确的,您应该创建一个非模态对话框,然后通过FocusListener处理您的用例。 |
![]() |
2
11
编辑: 更改为使用WindowFocusListener而不是FocusListener,并检查丢失焦点上的降序组件,以便在子组件获得焦点时不隐藏。 一个简单的方法是在对话框上添加一个窗口焦点监听器,当焦点丢失时隐藏它。我不认为在这种情况下需要模态。例如:
|
![]() |
3
1
不必是模式对话框(模式意味着在隐藏对话框之前,它会阻止您使用所有者窗口)。最好试试这个:
|
![]() |
4
1
尝试将模式设置为false,然后对close de dialog(dialog.dispose())使用windowsdeactivated(),对我有效。 |
![]() |
5
0
不是一个模态对话框,如果单击其他关闭它的位置,也许你想要
但是,类似下面这样的事情应该可以实现这个技巧(未经测试)。注意,我建议将代码移动到比所提供的更好的设计中。
|
![]() |
6
0
可能添加一个 FocusListener 当对话框失去焦点时隐藏它。如果对话框中的某些元素具有焦点,则可能比较棘手。无论如何,试试看。 |
![]() |
7
0
使用WindowListener并处理WindowDeactivated()事件。 |
![]() |
Jörg · 如何更改多行JButton中的行距 9 月前 |
![]() |
Clive Galway · 将摆动元件包装在面板顶部 1 年前 |
![]() |
AlexHomeBrew · 如何将图像放在左上角的滚动窗格中 1 年前 |
![]() |
Vithor Roder · Java CellEditor 1 年前 |
![]() |
Dromlius · JPanel透支重叠的JComcoBox 1 年前 |