gpt4 book ai didi

java - 调整组件逻辑大小

转载 作者:行者123 更新时间:2023-12-01 18:45:23 25 4
gpt4 key购买 nike

我是 Java 新手。我想在 JavaFX 中实现调整大小事件,但我的问题更像是逻辑问题。

bp.setOnMouseClicked(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent me) {

if (me.getButton().equals(MouseButton.PRIMARY) && me.getClickCount() % 1 == 0) {

bp.setPrefSize(480, 280);
bp.setMaxSize(480, 280);

}

if (me.getButton().equals(MouseButton.PRIMARY) && me.getClickCount() % 2 == 0) {
bp.setPrefSize(320, 180);
bp.setMaxSize(320, 180);

}
}
});

当我用鼠标在 bp 组件上单击一个时,我的代码尺寸会扩大。当我双击时,组件再次缩小到正常大小。

我想这样编辑代码:我想在展开组件后单击该组件。当我再次单击缩小组件时。你能告诉我如何修改代码中的逻辑吗?

最佳答案

看起来像一个简单的 if-else 就可以了:

if (me.getButton().equals(MouseButton.PRIMARY) && me.getClickCount() % 2 == 0) {
bp.setPrefSize(480, 280);
bp.setMaxSize(480, 280);
} else {
bp.setPrefSize(320, 180);
bp.setMaxSize(320, 180);
}

但是,我认为更好的选择是在 handle 中使用一个 isExpanded boolean 字段:

if (me.getButton().equals(MouseButton.PRIMARY) && isExpanded) {
// shrink:
bp.setPrefSize(320, 180);
bp.setMaxSize(320, 180);
isExpanded = false;
} else {
// expand:
bp.setPrefSize(480, 280);
bp.setMaxSize(480, 280);
isExpanded = true;
}

关于java - 调整组件逻辑大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17958217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com