gpt4 book ai didi

java - 在ActionListener的actionPerformed()方法中暂停执行代码

转载 作者:行者123 更新时间:2023-12-02 01:18:49 26 4
gpt4 key购买 nike

我有这个actionPerformed方法可以抓两张牌。在这两张牌的抽签之间,我想暂停程序一定时间,以便能够一张一张地看到卡的抽签。我尝试了Thread.sleep()方法,但是在执行actionPerformed方法后它只是暂停了程序。

最佳答案

由于Swing事件线程中的长时间运行的操作(如暂停)将冻结UI,因此不建议这样做。取而代之的是,可以考虑使用Timer触发与第二张纸牌的图形相对应的第二个事件,如下例所示。

public static void main(String[] args) {
SwingUtilities.invokeLater(()-> {
JFrame frame = new JFrame();
JButton button = new JButton("Ok");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("First card");
Timer timer = new Timer(2000, new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("Second card");
}
});
timer.setRepeats(false);
timer.start();
}
});
frame.add(button);
frame.pack();
frame.setVisible(true);
});
}

关于java - 在ActionListener的actionPerformed()方法中暂停执行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58121425/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com