如何对 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。
我正在使用 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。