模态对话框的实现细节

今天需要将项目中的非模态对话框转为模态对话框,刚开始以为在对话框的构造函数中简单的加一个
this.setModalityType(DEFAULT_MODALITY_TYPE)

就可以了,但试了才发现原来这代码放的位置也是很重要滴,为了将对话框中的控件显示出来,必须将控件们的实现代码夹在setModalityType与setVisible之间,如下:

this.setModalityType(DEFAULT_MODALITY_TYPE)
...
...
//控件的实现代码
...
...
pack();
this.setVisible(true);

顺便说一句,this.setVisible(true)必须放在pack()之后,否则对话框只显示出一个小条条哦,得自己拉大..

你可能感兴趣的:(GUI)