按下Jbutton上的快速双键导致两次相同的操作

时间:2013-01-22 10:13:51

标签: java swing jbutton

1>我在 Jframe 中有 JButton

2 - ;点击 JButton 会打开另一个 JFrame 的新实例

问题是在上面的 Jbutton 上非常快速地按下了一个键。同一个 JFrame 的两个实例会打开。

我必须打开这些帧。我知道在我阅读时还有其他选项也没有使用Jframe。

我设法通过 setMultiClickThreshHold('以毫秒为单位的时间')为Doulbl点击Mouce解决了这个问题。但它只对鼠标有效。

尝试了一些我在google中获得的其他东西,但都没有用。 有没有其他方法可以解决这个问题?

1 个答案:

答案 0 :(得分:2)

要完全控制动作的触发频率/快速,请执行它以在其actionPerformed中禁用自身。类似的东西:

singlePerform = new AbstractAction("DoSomthing") {

    @Override
    public void actionPerformed(ActionEvent e) {
        setEnabled(false);
        doSomething();
    }
};
JButton button = new JButton(singlePerform);

如果再次触发doSomething是安全的,只需重新启用操作:

singlePerform.setEnabled(true);