有没有办法改变 Button.addActionListener 行为?

Is there a way to change the Button.addActionListener behaviour?

如果我在按钮上使用 .addActionListener,按钮会触发操作“onRelease”。有没有一种简单的方法可以将该行为更改为“onPress”?

我通过覆盖 pointerPressed 方法找到了解决方法。这适用于我想要实现的目标,但这是正确的方法吗?

Button button1 = new Button("LEFT"){
            @Override
            public void pointerPressed(int x, int y) {                                      
                super.pointerPress(x, y);
                m.play();               
                showLeftForm();             
            }
        };

所有的框架都是在发布时而不是在发布时触发的,这是有原因的。

如果您选择后者,则在您转换到新表单时会触发发布事件,这可能会导致问题。例如。 repaint() 在屏幕转换期间可能会导致某些 OS/transition 组合出现伪影等。

话虽如此,但如果您愿意,您可以使用指针按下侦听器,尽管我不建议这样做。