2 回答
TA贡献1951条经验 获得超3个赞
setOnAction()侦听器侦听适用于 MenuItem 的任何操作,因此当您单击 menuItem 时,它会执行侦听器内的代码,
此时将一个新侦听器分配给 menuItem 上的选择属性,该侦听器将侦听是否选择 menuItem下次应用任何操作时,第一个操作不会被计算在内,接下来您要做的是取消选择 menuItem,在您的情况下不执行任何操作,然后再次重新选择它以执行所需的操作,因此无需为同一属性设置两个侦听器只需监听选择属性的变化
checkMenuItem.selectedProperty().addListener((obs, wasSelected, isSelected) -> {
if (isSelected) {
pane.setStyle("-fx-background-color: black");
}
else {
pane.setStyle("-fx-background-color: white");
}
});
TA贡献1805条经验 获得超9个赞
setOnAction()侦听器侦听适用于 MenuItem 的任何操作,因此当您单击 menuItem 时,它会执行侦听器内的代码,
此时将一个新侦听器分配给 menuItem 上的选择属性,该侦听器将侦听是否选择 menuItem下次应用任何操作时,第一个操作不会被计算在内,接下来您要做的是取消选择 menuItem,在您的情况下不执行任何操作,然后再次重新选择它以执行所需的操作,因此无需为同一属性设置两个侦听器只需监听选择属性的变化
checkMenuItem.selectedProperty().addListener((obs, wasSelected, isSelected) -> {
if (isSelected) {
pane.setStyle("-fx-background-color: black");
}
else {
pane.setStyle("-fx-background-color: white");
}
});
添加回答
举报