微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何暂停WindowClosing | JFrame

如何解决如何暂停WindowClosing | JFrame

我想要做的是,当应用程序使用标题栏中的 X 按钮关闭时,将标签更改为“正在关闭”,暂停 1500 毫秒然后关闭

代码

import javax.swing.*;
import java.awt.FlowLayout;
import java.awt.event.*;

public class app {

    public static void main(String[] args) {
        final Timer timer = new Timer(1500,new ActionListener(){
            public void actionPerformed(ActionEvent e){
                System.exit(0);
            }
        });
        jdialog dialog = new jdialog(new JFrame(),"",true);
        dialog.setLayout(new FlowLayout());
        JLabel label = new JLabel();
        label.setText("Running");
        dialog.add(label);
        dialog.addWindowListener(new WindowAdapter(){
            public void windowClosing(WindowEvent event) {
                label.setText("Closing");
                timer.start();
            }
        });
        dialog.pack();
        dialog.setVisible(true);
    }
}

问题是它甚至不会暂停

我试过了

使用 Thread.sleep()标签在睡眠时不会改变

dialog.addWindowListener(new WindowAdapter(){
    public void windowClosing(WindowEvent event) {
        label.setText("Closing");
        Thread.sleep(1500);
        System.exit(0);
    }
});

解决方法

由于您在计时器中使用“退出”过程,请指定默认关闭操作而不是关闭表单。

df['Parent_age'] = df.Parent.map(dict(df[['Child','Age']].values))

# when Parent is not in Child column,then apply get_parent_age
cond = df['Parent_age'].isnull()
df.loc[cond,'Parent_age'] = df.loc[cond,'Parent'].map(get_parent_age)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。