java如何在窗口打开过程中关闭窗口

java如何在窗口打开过程中关闭窗口,第1张

import javaawteventWindowAdapter;

import javaawteventWindowEvent;

import javautilconcurrentTimeUnit;

import javaxswingJFrame;

public class TestFrame extends JFrame {

public static void main(String[] args) {

new TestFrame()setVisible(true);

}

public TestFrame() {

setBounds(200, 200, 300, 500);

addWindowListener(new WindowAdapter() {

@Override

public void windowActivated(WindowEvent e) {

try {

TimeUnitSECONDSsleep(1);//这一句是为了让你看清效果而加的让它延迟一秒钟再关闭,如果想要效果更明显, 你可以把它去掉

} catch (InterruptedException e1) {

// TODO Auto-generated catch block

e1printStackTrace();

}

Systemexit(0);

}

});

}

}

关键:

1 调用JFrame的setDefaultCloseOperation(),设置关闭模式为DO_NOTHING_ON_CLOSE(就是默认关闭效用减半,仅触发WindowListener中的windowClosing方法)

2 d对话框,确认关闭后,添加JFrame的dispose()

代码:

package gui;

import javaawteventActionEvent;

import javaawteventActionListener;

import javaawteventWindowEvent;

import javaawteventWindowListener;

import javaxswingJButton;

import javaxswingJFrame;

import javaxswingJOptionPane;

public class MainFrame extends JFrame {

//退出按钮

JButton exitBtn;

//保留本框架实例的指针

JFrame thisFrame;

public static void main(String[] args) {

MainFrame mainFrame=new MainFrame();

mainFramepack();

mainFramesetVisible(true);

}

public MainFrame(){

thisFrame=this;

initGUI();

}

private void initGUI(){

exitBtn=new JButton("退出");

exitBtnsetBounds(0, 0, 30, 20);

exitBtnaddActionListener(new exitBtnListener());

thisFramegetContentPane()add(exitBtn);

thisFrameaddWindowListener(new windowListener());

//关键!框架将不会真正关闭

thisFramesetDefaultCloseOperation(DO_NOTHING_ON_CLOSE);

}

//确认关闭

private void sureExit(){

int result=JOptionPaneshowConfirmDialog(this, "你确定要退出本窗口不?", "Information", JOptionPaneYES_NO_OPTION);

if(result==JOptionPaneNO_OPTION){

return;

}

//真正执行关闭的语句

thisFramedispose();

}

//实现接口

class windowListener implements WindowListener{

@Override

public void windowClosed(WindowEvent e) {

// TODO Auto-generated method stub

}

@Override

public void windowClosing(WindowEvent e) {

//在关闭时调用“确认关闭”方法

sureExit();

}

@Override

public void windowDeactivated(WindowEvent e) {

// TODO Auto-generated method stub

}

@Override

public void windowDeiconified(WindowEvent e) {

// TODO Auto-generated method stub

}

@Override

public void windowIconified(WindowEvent e) {

// TODO Auto-generated method stub

}

@Override

public void windowOpened(WindowEvent e) {

// TODO Auto-generated method stub

}

@Override

public void windowActivated(WindowEvent e) {

// TODO Auto-generated method stub

}

}

//实现接口

class exitBtnListener implements ActionListener{

@Override

public void actionPerformed(ActionEvent e) {

//调用“确认关闭”方法

sureExit();

}

}

}

以上就是关于java如何在窗口打开过程中关闭窗口全部的内容,包括:java如何在窗口打开过程中关闭窗口、我是java新手。java中点击关闭窗口,然后怎样才能出现提示对话框呢点击确定才真正退出的那种。麻烦啦、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/9706746.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存