java - JButton 按下(不释放)

标签 java swing jbutton actionlistener

我有一个名为“b”的非常小的 JButton,我想在单击它时而不是在释放它时做一些事情。我使用以下代码:

b.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e){
            //do some stuff
        }
    });

但我意识到,只要先按下然后松开,它就会执行我想要的操作。这怎么能按照我的方式完成? 谢谢

最佳答案

点击意味着按下并释放了一个按钮。单击按钮时会触发单击事件,并且仅当释放鼠标时按钮仍处于武装状态(鼠标在按钮范围内)时才会触发。要处理 pressed 事件,请使用低级 MouseListener

btn.addMouseListener(new MouseListener() {

    @Override
    public void mousePressed(MouseEvent e) {
        //do some stuff
    }

    /*Override other methods*/

});

或者更好地使用 MouseAdapter

btn.addMouseListener(new MouseAdapter() {

        @Override
        public void mousePressed(MouseEvent e) {
            //do some stuff
        }

        /*No need to override other methods, `MouseAdapter` already does it*/

    });

关于java - JButton 按下(不释放),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16959560/

相关文章:

java - 当线程正在执行某种操作时暂停其他线程?

java - JButton 在 Windows 上显示浅蓝色背景

java - 带有用户名和密码输入的 JOptionPane

java - Java 中的复选框列表?

java - 如何将一行 Swing Jtable 设置为 'selected'?

java - 自动更新 Swing 应用程序 - Install4J

java - 关闭框架java后重新启用按钮

java - 生成不同集合的组合

java - Java 中 ArrayList 的奇怪输出

java - 我有一张印章,上面有复选标记和当前日期。我需要使用itext和java将此图章添加到pdf中的所有页面