0
私のTitledPaneを展開中に開かないようにしようとしています。ブール変数isExpandingを作成して展開時にtrueに設定し、展開が完了したらfalseに設定します。JavaFx - MouseEventをキャンセルする
私の問題は、SceneBuilder GUIを使用しているときに、クリックしたときにデフォルトで展開され、私がそれを変更できるとは思わないTitledPaneがあることです。私が必要とするのは、var isExpanding == trueのときにTitledPaneイベントをクリックしたときに消費され、何もしないときです。
TitledPaneをクリックしたときのMouseEventです。アニメーションが別の関数で完了した後、isExpandingはfalseに設定されます。
@FXML
private void handleTitledPaneMouseClickDNSAction(MouseEvent event) {
if(dnsTitledPane.expandedProperty() == null || dnsTitledPane.isExpanded() == false) {
animateCollapse(dnsPane, dnsTitledPane);
isExpanding = false;
} else {
expanTimeline = new Timeline(new KeyFrame(
Duration.millis(15),
ae -> animateExpanstion(dnsPane, dnsTitledPane)));
expanTimeline.setCycleCount(Timeline.INDEFINITE);
expanTimeline.play();
isExpanding = true;
}
}