首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaFx -取消MouseEvent

JavaFx -取消MouseEvent
EN

Stack Overflow用户
提问于 2016-06-28 00:54:56
回答 1查看 120关注 0票数 0

我正在尝试让我的TitledPane在扩展过程中不打开。我创建了一个布尔变量isExpanding,在扩展时设置为true,在扩展完成后设置为false。

我的问题是,当使用SceneBuilder图形用户界面时,我有一个TitledPane,当点击它时,它默认会展开,我不认为我可以改变这一点。我需要的是,当我的var isExpanding ==为true时,单击TitledPane事件,但它什么也不做。

这是我单击TitledPane时的MouseEvent。在不同的函数中完成动画之后,isExpanding被设置为false。

代码语言:javascript
复制
@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;
    }
}
EN

回答 1

Stack Overflow用户

发布于 2016-06-28 20:14:44

这只是一种变通方法。您可以在其鼠标单击处理程序中显式set titledPane Expansion as false。代码如下:

代码语言:javascript
复制
titlePane.setOnMouseClicked((evt) -> {
  if(isExpanding)
    titlePane.setExpanded(false);
  else
    titlePane.setExpanded(true);
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38059327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档