gpt4 book ai didi

java - Java 中的计时器问题 - 设置 setRepeat(false) 时时间不停止

转载 作者:行者123 更新时间:2023-12-01 12:52:39 25 4
gpt4 key购买 nike

我希望有人可以帮助我解决计时器遇到的这个问题。当timer.start()运行时,定时器启动。然而,它似乎无休止地重复。

我只需要定时器执行一次。如果timer.setRepeats(false) 不起作用,我该如何实现这一点?

     ActionListener updatePane = new ActionListener() {

public void actionPerformed(ActionEvent ae) {

try {
msgPaneDoc.insertString(msgPaneDoc.getLength(), "CLICK",
msgPaneDoc.getStyle("bold_style"));
} catch (BadLocationException ex) {
}}};

Timer timer = new Timer(3000,updatePane);

timer.start();
timer.setRepeats(false);

最佳答案

您已从 The Event Dispatch Thread 内部调用它.

尝试使用SwingUtilities.invokeLater()EventQueue.invokeLater()

示例代码:

SwingUtilities.invokeLater(new Runnable() {

@Override
public void run() {
ActionListener actionListener = new ActionListener() {

public void actionPerformed(ActionEvent ae) {
System.out.println("Hello");
}
};
Timer timer = new Timer(1000, actionListener);
timer.start();
timer.setRepeats(false);
}
});

关于java - Java 中的计时器问题 - 设置 setRepeat(false) 时时间不停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24107690/

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