gpt4 book ai didi

java - 如何使用 Timer isRunning?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:31:56 25 4
gpt4 key购买 nike

我正在创建一个正在创建门(AND、OR 等)的程序,但是当我想创建一个 SR 锁存器时,我需要使用一个计时器。

因此,当调用此方法 (inputChanged) 时,它应该检查计时器是否正在运行。如果它正在运行,它应该什么也不做。 (这是我被困住了......)否则它应该检查新值是否偏离旧值(getOutputValue())。

如果是这样,它应该保存新值并在一小段延迟后发送中断信号。我正在使用 setInitialDelay() 作为初始延迟,但我不知道如何发送中断信号。

我想知道我在这段代码中做错了什么,因为它运行得不太好....

public void inputChanged()
{
timer = new javax.swing.Timer(delay, new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
// Check if timer is running.
if(timer.isRunning())
{
boolean value = calculateValue();

// new Value old Value
if(calculateValue() != getOutputValue())
{
timer.setInitialDelay(delay);
timer.stop();
}
outputChanged(value);
}
}
});
timer.start();
}

最佳答案

代码的逻辑与你写的相反。你说如果时间在流逝,那么你什么也不想做。但是,代码表示如果计时器未运行则什么也不做。只需将一个简单的 !timer.isRunning() 应用到正确的行即可。

关于java - 如何使用 Timer isRunning?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12882524/

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