Java 有没有办法在FXML中检查鼠标右键单击?
我正在用JavaFX和FXML为学校构建一个风险版本。现在,我们希望能够右键单击一个按钮来减少一个国家的军队数量,左键单击它来增加军队数量。左键单击是非常不言自明的,因为它只是一个onAction,但是我们如何通过FXML检查右键单击按钮呢Java 有没有办法在FXML中检查鼠标右键单击?,java,javafx,fxml,Java,Javafx,Fxml,我正在用JavaFX和FXML为学校构建一个风险版本。现在,我们希望能够右键单击一个按钮来减少一个国家的军队数量,左键单击它来增加军队数量。左键单击是非常不言自明的,因为它只是一个onAction,但是我们如何通过FXML检查右键单击按钮呢 <Button id="ontario" fx:id="ontario" layoutX="356.0" layoutY="145.0" mnemonicParsing=&
<Button id="ontario" fx:id="ontario" layoutX="356.0" layoutY="145.0" mnemonicParsing="false" onAction="#countryPressed" prefHeight="40.0" prefWidth="40.0" styleClass="CountryButton" stylesheets="@style.css"
<font>
<Font name="System Bold" size="16.0" />
</font>
</Button>
要在javaFX中对鼠标右键单击做出反应,您需要使用onMouseClicked
事件处理程序,并在MouseEvent
中,使用方法getButton
检查按下了哪个按钮,该方法将返回一个值为MIDDLE
,PRIMARY
,的鼠标按钮,或SECONDARY
控制器代码:
@FXML
已单击公共无效按钮(MouseeEvent事件){
开关(event.getButton()){
case主/左按钮
//做点什么
打破
case右键
//做点别的
打破
违约:
//忽略
打破
}
}
FXML:
学习有关如何使用fxml和/或阅读fxml规范的教程(提示:查看onXX方法:)My bad。太急于回应了。是的,谢谢你,我自己已经弄明白了,但这和我现在的情况非常接近。