想完成的业务是一个窗体中有一个按钮,点击后打开另一个窗口,同时冻结本窗口,另一个窗口关闭时解冻本窗口。我的思路是:JFrame A中有个按钮,点击后打开JFrame B,同时设置A的setEnabled为false,那么在关闭B时,如何才能将A的setEnabled为false设为true呢?
解决方案 »
- 有关DataOutputStream输出流的问题,谢谢
- frame 没有自己的构造吗?
- java图形问题
- [200分]在寻份试卷答案
- 跪求张孝祥老师的《JAVA就业培训教程》及配套光盘
- 关于从String中读数的问题
- 如何才能使窗体里面的组件随窗体放大缩小自动调整,始终保持其相对位置
- 如何在java中获知操作系统正在使用的默认字符集?
- 各位大虾请帮忙,WEBLOGIC与JB5连接问题.
- 在我的java程序中,我从数据库中得到一批数据,不能确定是多少个,我要把它保存到我的java数组中,可是怎样才能向C++中的数组一样可以自由分配空间,在java中我必需预先指定大小,不会一定要用java中的那个可改变数组大小的类吧?
- 求一java正则表达式,只能输入0-120之间的数字
- 步长最短排序算法
你的B不要用JFrame用JDialog就好了啊,用模态模式打开
JFrame A = new JFrame();
JDialog B = new JDialog(A, true);
加一个if判断
if(flag){
点击A
flag = false;
}else{
点击B
flag = true;
}
当点击了A之后,在打开B的同时将flag赋值为false;
当点击了B中的按钮,就将flag赋值为true;
同时,setEnabled()中传入flag
JDialog B = new JDialog(A, true);Dialog本身就有冻结父窗口的功能
我用了下JDialog模态,果然很简单,开始不知道有这现成的东西,已经实现好了这写功能。
总结下,就是把extends Jframe 改成extends JDialog,在B中填上
this.setModalityType(DEFAULT_MODALITY_TYPE);即可实现模态
但是这条语句要放在
pack();
setVisible(true);之前。