java打开新窗口,原窗口不可操作,关闭新窗口后,原窗口才可操作

新打开一个JFrame,原JFrame不关闭,但也不可操作,关闭新窗口后,原窗口才可以操作... 新打开一个JFrame,原JFrame不关闭,但也不可操作,关闭新窗口后,原窗口才可以操作 展开
 我来答
沉默的观望者
2017-09-22
知道答主
回答量:4
采纳率:0%
帮助的人:2459
展开全部

对于自定义窗体来说,最简单直接的做法就是让新窗体继承javax.swing.JDialog(对话框属于顶级窗口,跟JFrame同级),在创建该窗体后加上setModalityType()就可实现打开新窗口后原窗口不能动作,关闭新窗口后方可动作的操作。

NewFrame nf = new NewFrame();    // 继承JDialog的窗体类
nf.setModalityType(Dialog.ModalityType.APPLICATION_MODAL);    // 设置模式类型。
// 参数 APPLICATION_MODAL:阻塞同一 Java 应用程序中的所有顶层窗口(它自己的子层次
// 结构中的顶层窗口除外)。
nf.setVisible(true);

P.S.. setModalityType()只有JDialog类才有。

非要用JFrame类的话,目前可行的只有设置setEnable(false),效果一样。但对于多个自定义的窗体类不在同一个类文件中时操作起来相对不友好。需进行监听操作以‘唤醒’窗体。

匿名用户
2013-08-03
展开全部
JFrame frame=new JFrame();JDialog dialog = new JDialog(frame, "Test", true);这样就行,不懂再问
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式