java打开新窗口,原窗口不可操作,关闭新窗口后,原窗口才可操作
答案:2 悬赏:30
解决时间 2021-01-10 01:44
- 提问者网友:你挡着我发光了
- 2021-01-09 21:27
java打开新窗口,原窗口不可操作,关闭新窗口后,原窗口才可操作
最佳答案
- 二级知识专家网友:妄饮晩冬酒
- 2021-01-09 22:30
对于自定义窗体来说,最简单直接的做法就是让新窗体继承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),效果一样。但对于多个自定义的窗体类不在同一个类文件中时操作起来相对不友好。需进行监听操作以‘唤醒’窗体。
NewFrame nf = new NewFrame(); // 继承JDialog的窗体类
nf.setModalityType(Dialog.ModalityType.APPLICATION_MODAL); // 设置模式类型。
// 参数 APPLICATION_MODAL:阻塞同一 Java 应用程序中的所有顶层窗口(它自己的子层次
// 结构中的顶层窗口除外)。
nf.setVisible(true);P.S.. setModalityType()只有JDialog类才有。
非要用JFrame类的话,目前可行的只有设置setEnable(false),效果一样。但对于多个自定义的窗体类不在同一个类文件中时操作起来相对不友好。需进行监听操作以‘唤醒’窗体。
全部回答
- 1楼网友:撞了怀
- 2021-01-09 22:59
JFrame frame=new JFrame();JDialog dialog = new JDialog(frame, "Test", true);这样就行,不懂再问
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯