Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 按钮按下时的actionPerformed()_Java_Swing_Jbutton_Actionlistener - Fatal编程技术网

Java 按钮按下时的actionPerformed()

Java 按钮按下时的actionPerformed(),java,swing,jbutton,actionlistener,Java,Swing,Jbutton,Actionlistener,现在我有: panel.getZoomButton().addActionListener(new ActionListener() { @Override public void actionPerformed(ACtionEvent e) { zoom(); } } 每次按下“缩放”按钮时都会调用此选项。如果按下缩放按钮,如何更改它以使zoom()连续调用?您需要使用MouseListener并覆盖mousePressed()方法。在那里,你

现在我有:

panel.getZoomButton().addActionListener(new ActionListener()
{
    @Override
    public void actionPerformed(ACtionEvent e)
    {
        zoom();
    }
}

每次按下“缩放”按钮时都会调用此选项。如果按下缩放按钮,如何更改它以使
zoom()
连续调用?

您需要使用
MouseListener
并覆盖
mousePressed()
方法。在那里,你可以使用计时器或类似的东西来测量时间,按下按钮,以计算你的缩放

也许这个问题对你有所帮助:

  • 使用(最具可伸缩性的抽象),而不是在您可以设置的地方,切换到
    false值
    ,直到所有事件都完成

  • 或将重置
    布尔值
    添加到
    真值

  • 有可能,但仅适用于鼠标事件,此方法不会对从键盘触发的
    键绑定
    输入
    选项卡
    )作出反应


我同意你的看法。当您释放鼠标按钮时,您将重写mousePressed(),并在最后通过mouseerelease()管理您的进程。请注意windows超级按钮,如果您在缩放时单击它,您将失去焦点,代码将无法控制。通过keylistener添加一个简单的条件来完成这项工作。