setVisible这个方法一定要放在所有初始化代码后面吗?
比如我写了一个JDialog,代码如下:构造函数{
initialize();
}private void initialize() {
this.setSize(400, 200);
this.setModal(true);
this.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent e) {
System.out.println("windowClosing()"); }
});
this.setVisible(true);
}
如果不把this.setVisible(true);放在最后,而是放在前面,比如this.addWindowListener前面,则事件监听器将不会起作用,放到this.setModal(true);之前,模式设置也失效,为什么呢?像JFrame这些容器是否都有这样的问题啊?
比如我写了一个JDialog,代码如下:构造函数{
initialize();
}private void initialize() {
this.setSize(400, 200);
this.setModal(true);
this.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent e) {
System.out.println("windowClosing()"); }
});
this.setVisible(true);
}
如果不把this.setVisible(true);放在最后,而是放在前面,比如this.addWindowListener前面,则事件监听器将不会起作用,放到this.setModal(true);之前,模式设置也失效,为什么呢?像JFrame这些容器是否都有这样的问题啊?
你modal设为false,应该就不会阻断了.