Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有办法在FXML中检查鼠标右键单击?_Java_Javafx_Fxml - Fatal编程技术网

Java 有没有办法在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=&

我正在用JavaFX和FXML为学校构建一个风险版本。现在,我们希望能够右键单击一个按钮来减少一个国家的军队数量,左键单击它来增加军队数量。左键单击是非常不言自明的,因为它只是一个onAction,但是我们如何通过FXML检查右键单击按钮呢

<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。太急于回应了。是的,谢谢你,我自己已经弄明白了,但这和我现在的情况非常接近。