用到JOptionPane.showConfirmDialog方法,showConfirmDialog 的返回类型是int,定义一个int类型的变量接收返回值,然后根据业务逻辑判断,代码看不懂,可以自行百度搜索或问同事,编程注重思想。
import java.awt.event.WindowAdapterimport 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的窗口,其他窗口仍然存在,整个应用程序还是处于运行状态。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)