如何对 Java 中的特殊鼠标键做出反应(forward/backward 键)

How to react on special mouse keys in Java (forward/backward keys)

我正在使用 KeyBindings 和 MouseListener 对 keyboard/mouse 输入作出反应。许多鼠标都有一个 back/forward 按钮(例如在网络浏览器中来回翻页)。我如何对 Java 中的这些按钮做出反应?

特殊的鼠标键通常由鼠标的供应商软件绑定到虚拟击键。尝试实现 KeyListener,在 keyPressed 方法中设置断点,调试并观察当您按下鼠标上的特殊按钮时得到的 keyCode。这样,您可能还会处理通常也提供相同功能的键盘上的特殊键。

只需实现一个 MouseListener 并查看 mousePressed() 事件。

用于测试鼠标按钮的快速而肮脏的程序:

package Whosebuganswer;

import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;

public class MouseListenerApp{
public static void main(String[] args) {        
    Runnable r = new Runnable(){
        @Override
        public void run() {
            JFrame frame = new JFrame("mouselistener"); 
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

            frame.addMouseListener(new MouseListener() {
                @Override
                public void mouseClicked(MouseEvent e) {
                }

                @Override
                public void mousePressed(MouseEvent e) {
                    System.out.println(e.getButton());
                }

                @Override
                public void mouseReleased(MouseEvent e) {
                }

                @Override
                public void mouseEntered(MouseEvent e) {
                }

                @Override
                public void mouseExited(MouseEvent e) {
                }
            });

            frame.setSize(200,200);
            frame.setVisible(true);
        }
    };

    SwingUtilities.invokeLater(r);
    }
}

对我来说forward/backward对应键4/5。