JavaFX应用程序发生了一些奇怪的事情,在非触摸屏Ubuntu 13.04上运行良好。 OnMouseClickedListener 以及其他任何内容,例如 onAction 或 onTouch都不会捕获事件,但CSS风格的按钮会在我们触摸时更改为选中状态。所以应用程序知道,该按钮被触摸了。 onAction侦听器也会发生奇怪的事情:触摸事件是应用程序的捕获,它位于我的应用程序“下面”。
添加触控侦听器的代码:
btn1.setOnTouchPressed(new EventHandler<TouchEvent>() {
@Override
public void handle(TouchEvent touchEvent) {
// deal with touch
touchEvent.consume();
}
});
添加触摸侦听器和动作侦听器的代码:
<Button fx:id="btn2" onMouseClicked="#clicksHandler" text="btn"/>
<Button fx:id="btn3" onAction="#actionHandler" text="btn"/>
此事件的处理人员:
@FXML
private void actionHandler(Event event){
// Handle event
event.consume();
}
@FXML
private void clicksHandler(MouseEvent event){
// Handle event
event.consume();
}
请帮助解决这个问题。
成立解决方法:安装ubuntu 12.04 LTS。事件由 OnMouseClickedListener 处理。