我的JFrame
目前有setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
我是否可以更改此设置,以便在用户点击关闭时启动"您确定吗?" JOptionPane
样式会弹出?< / p>
我该怎么做?
答案 0 :(得分:3)
您需要添加WindowListener
。这是一个例子:
public class Test {
public static void main(String[] args) {
final JFrame frame = new JFrame();
JLabel label = new JLabel("Test");
frame.getContentPane().add(label);
frame.pack();
frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent ev) {
int result = JOptionPane.showConfirmDialog(frame, "Sure?");
if (result == JOptionPane.OK_OPTION) {
frame.dispose();
}
}
});
frame.setVisible(true);
}
}