【发布时间】:2018-05-21 21:54:51
【问题描述】:
我有兴趣从资源管理器鼠标按钮(鼠标侧面的特殊按钮通常用于在网络浏览器上前进和后退)捕获输入。
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;
import javafx.scene.input.MouseButton;
import static java.lang.System.*;
public class MouseThing extends Application
{
@Override
public void start(Stage stage) throws Exception
{
Pane pane = new Pane();
pane.setOnMousePressed(e -> {
if(e.getButton() == MouseButton.PRIMARY)
out.println("LEFT");
if(e.getButton() == MouseButton.SECONDARY)
out.println("RIGHT");
if(e.getButton() == MouseButton.MIDDLE)
out.println("MIDDLE");
if(e.getButton() == MouseButton.NONE)
out.println("OTHER");
// How read explorer buttons?
out.println("click");
});
Scene scene = new Scene(pane, 300, 100);
stage.setTitle("Demo");
stage.setScene(scene);
stage.show();
}
}
仅举个例子,我想记录一下前进和后退按钮被激活的情况。在这一点上,我唯一能实现的交互是左键、右键和中键。按鼠标上的forward 和back 按钮甚至不会注册click 打印。
有这篇关于 Javascript 的帖子:JS special mouse buttons,但它对我的目的没有用。
【问题讨论】:
标签: java javafx mouseevent mouse-buttons