zoukankan      html  css  js  c++  java
  • 关于java JFrame 中如何解决关闭showConfirmDialog对话框,而此对话框关闭但主窗体不关闭的问题?

    在JFrame中,窗体右上角的小红叉默认点击就是关闭窗体,如果frame窗体和showConfirmDialog对话框创建一个联系:

       当点击frame小红叉时,弹出对话框(是否关闭窗口?),点击对话框按钮后,对话框关闭,而frame不关闭!

       就是在当前窗口的构造函数添加一句话:

    frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

    代码如下:
     1 package Test;
     2 
     3 import java.awt.event.WindowAdapter;
     4 import java.awt.event.WindowEvent;
     5 import javax.swing.JFrame;
     6 import javax.swing.JOptionPane;
     7 
     8 public class Demo {
     9     private JFrame frame;
    10 
    11     public static void main(String[] args) {
    12         Demo window = new Demo();
    13         window.frame.addWindowListener(new WindowAdapter() {
    14             public void windowClosing(WindowEvent e) {                
    15                 int i= JOptionPane.showConfirmDialog(null, "确认退出吗?");
    16                 if(i==JOptionPane.OK_OPTION){
    17                     System.exit(0);                    
    18                 }else{
    19                     
    20                 }
    21             }
    22         });
    23     }
    24 
    25     public Demo() {
    26         initialize();
    27     }
    28 
    29     private void initialize() {
    30         frame = new JFrame();
    31         frame.setBounds(100, 100, 450, 300);
    32         // frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//默认点击关闭
    33         frame.setVisible(true);
    34         frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
    35     }
    36 }

        截图如下:

  • 相关阅读:
    基于element-ui图片封装组件
    计算时间间隔具体每一天
    C语言学习笔记 —— 函数作为参数
    AtCoder Beginner Contest 049 题解
    AtCoder Beginner Contest 048 题解
    AtCoder Beginner Contest 047 题解
    AtCoder Beginner Contest 046 题解
    AtCoder Beginner Contest 045 题解
    AtCoder Beginner Contest 044 题解
    AtCoder Beginner Contest 043 题解
  • 原文地址:https://www.cnblogs.com/jinjupeng/p/6240875.html
Copyright © 2011-2022 走看看