【发布时间】:2016-02-25 08:42:20
【问题描述】:
我有一个JDialog,我将其模态设置为少模型。但是,现在我需要在它可见时修改它的模态。但我知道 Swing 不允许在可见时更改对话框的模态。那么,有没有其他技巧或代码可以做到这一点?
【问题讨论】:
-
除了按照 JavaDoc 所说的去做之外,可能没有这样的技巧,即再次隐藏和显示对话框。主要问题是:你为什么要这样做?在显示对话框之前您不知道模态吗?当对话框突然变成模态时,用户应该如何处理被某个窗口(可能也是模态)隐藏的对话框?
-
@Thomas,实际上我遇到了一种情况,其中有一个包含一个文本字段的对话框。我为此文本字段设置了默认焦点。但是,当我的对话框是模态的时,它工作正常。但是,当我的对话框是无模型的时,焦点不会在打开对话框后自动到达文本字段
-
所以问题是对话框没有获得或失去焦点?然后我会努力解决这个问题,而不是让对话框成为模态。
-
@Thomas,对话框没有获得焦点
-
好的,然后正如我所说,尝试解决这个问题,而不是努力解决问题(顺便说一句,您确定对话框没有获得焦点并由于其他一些组件的请求而立即失去焦点吗? )。
标签: java swing jdialog modality