public class NewJDialog extends javax.swing.JDialog {
private JButton jb;
public NewJDialog(JFrame frame) {
super(frame, "111", true);
initGUI();
}
private void initGUI() {
JPanel jp = new JPanel();
jb = new JButton("按钮");
jp.add(jb);
jb.setText("jButton1");
setSize(400, 300);
setVisible(true);
jb.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
System.exit(0);
}
});
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.out.println("bbbbbbbbbbbbbbbbbbbbbbbbb");
System.exit(0);
}
});
}
public static void main(String[] args) {
new NewJDialog(new JFrame());
}
}上面的代码 窗口关闭 和 按钮事件 都没有监听到
而当我把super(frame, "111", true);改成 super(frame, "111", false);
或
把public class NewJDialog extends javax.swing.JDialog 改成 public class NewJDialog extends javax.swing.JFrame
都没问题请问这是为什么???
有没有什么办法能解决???
我需要的是super(frame, "111", true);望指点~!!!
private JButton jb;
public NewJDialog(JFrame frame) {
super(frame, "111", true);
initGUI();
}
private void initGUI() {
JPanel jp = new JPanel();
jb = new JButton("按钮");
jp.add(jb);
jb.setText("jButton1");
setSize(400, 300);
setVisible(true);
jb.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
System.exit(0);
}
});
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.out.println("bbbbbbbbbbbbbbbbbbbbbbbbb");
System.exit(0);
}
});
}
public static void main(String[] args) {
new NewJDialog(new JFrame());
}
}上面的代码 窗口关闭 和 按钮事件 都没有监听到
而当我把super(frame, "111", true);改成 super(frame, "111", false);
或
把public class NewJDialog extends javax.swing.JDialog 改成 public class NewJDialog extends javax.swing.JFrame
都没问题请问这是为什么???
有没有什么办法能解决???
我需要的是super(frame, "111", true);望指点~!!!
d.setVisible(true);),因为super(frame, "111 ", true)中的true表示是模式对话框,阻止后面的执行。
不好意思,贴子是直接写的,没有经过编译问题找到了,正如你说的: 因为super(frame, "111 ", true)中的true表示是模式对话框,阻止后面的执行。再次感谢~!!!