java怎么做窗口关闭动作_在java / swing中关闭窗口时采取的正确动作是什么?

您可以使用JDialog的

setDefaultCloseOperation()方法,指定DISPOSE_ON_CLOSE:

setDefaultCloSEOperation(JDialog.DISPOSE_ON_CLOSE);

附录:结合@ camickr的帮助答案,当窗口关闭或按下关闭按钮时,此示例退出.

import java.awt.EventQueue;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.WindowEvent;

import javax.swing.AbstractAction;

import javax.swing.JButton;

import javax.swing.JDialog;

import javax.swing.JLabel;

/** @see https://stackoverflow.com/questions/5540354 */

public class DialogClose extends JDialog {

public DialogClose() {

this.setLayout(new GridLayout(0,1));

this.add(new JLabel("Dialog close test.",JLabel.CENTER));

this.add(new JButton(new AbstractAction("Close") {

@Override

public void actionPerformed(ActionEvent e) {

DialogClose.this.setVisible(false);

DialogClose.this.dispatchEvent(new WindowEvent(

DialogClose.this,WindowEvent.WINDOW_CLOSING));

}

}));

}

private void display() {

this.setDefaultCloSEOperation(JDialog.DISPOSE_ON_CLOSE);

this.pack();

this.setLocationRelativeTo(null);

this.setVisible(true);

}

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

@Override

public void run() {

new DialogClose().display();

}

});

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值