我正在创建一个创建门(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();
}