java swing中怎么实现点击jframe的关闭按钮后,d出提示框?

java swing中怎么实现点击jframe的关闭按钮后,d出提示框?,第1张

用到JOptionPane.showConfirmDialog方法,showConfirmDialog 的返回类型是int,定义一个int类型的变量接收返回值,然后根据业务逻辑判断,代码看不懂,可以自行百度搜索或问同事,编程注重思想。

import java.awt.event.WindowAdapter

import java.awt.event.WindowEvent

import javax.swing.JFrame

import javax.swing.JOptionPane

 

public class JButtonTest extends JFrame

{

    public static void main ( String[] args )

    {

        JButtonTest b = new JButtonTest ()

        b.addWindowListener (new WindowAdapter ()

        {

            @Override

            public void windowClosing ( WindowEvent e )

            {

                int exi = JOptionPane.showConfirmDialog (null, "要退出该程序吗?", "友情提示", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE)

                if (exi == JOptionPane.YES_OPTION)

                {

                    System.exit (0)

                }

                else

                {

                    return

                }

            }

        })

        b.setSize (300, 300)

        b.setLocationRelativeTo (null)

        b.setDefaultCloseOperation (JFrame.DO_NOTHING_ON_CLOSE)

        b.setVisible (true)

    }

}

在java中实现一个消息框, 常见的有两种方式

第一种方法: JOptionPane 类. 创建1个d窗.

例一:简单的消息提示框

JOptionPane.showMessageDialog(null, "消息提示")

2.例二:带警告图片的消息提示框

JOptionPane.showMessageDialog(null, "提示消息", "标题",JOptionPane.WARNING_MESSAGE)

第二种方法 d窗JDialog 设置setModal(true)也可以实现. 类似于写JFrame

两者区别在于:

JOptionPane 代码简短, 适应一些普通需求, 比如d出消息提示, d出警告信息, 提示用户输入, 提示用户选择, 等简单的场景

JDialog 代码略长, 组件需要自行定义.  满足一些复杂的需求. 比如多个输入框 ,多个按钮等

System.exit(0)是退出整个程序,如果有多个窗口,全部都销毁退出。

frame.setDefaultCloseOperation()是设置用户在此窗体上发起 "close" 时默认执行的 *** 作。必须指定以下选项之一:

DO_NOTHING_ON_CLOSE(在 WindowConstants 中定义):不执行任何 *** 作;要求程序在已注册的 WindowListener 对象的 windowClosing 方法中处理该 *** 作。

HIDE_ON_CLOSE(在 WindowConstants 中定义):调用任意已注册的 WindowListener 对象后自动隐藏该窗体。

DISPOSE_ON_CLOSE(在 WindowConstants 中定义):调用任意已注册 WindowListener 的对象后自动隐藏并释放该窗体。

EXIT_ON_CLOSE(在 JFrame 中定义):使用 System exit 方法退出应用程序。仅在应用程序中使用。

默认情况下,该值被设置为 HIDE_ON_CLOSE

也就是说没有设置的话,默认点关闭时只是隐藏窗体,在后台进程中还可以看到,如果有多个窗口,只是销毁调用dispose的窗口,其他窗口仍然存在,整个应用程序还是处于运行状态。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11478049.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存