gpt4 book ai didi

java - 初始化后如何重置JLabel约束?

转载 作者:行者123 更新时间:2023-12-01 16:04:03 25 4
gpt4 key购买 nike

我在 Java 框架中初始化 JLabel,如下所示:

contentPane.add(myLabel, cc.xywh(1, 1, 31, 6, CellConstraints.DEFAULT, CellConstraints.BOTTOM));

但是在显示 JFrame 之前,我做了一个小条件,如果返回 true,我想将 myLabel 设置为 DEFAULT 而不是 BOTTOM,但除了像这样重新定义它之外我找不到任何东西:

contentPane.add(myLabel, cc.xywh(1, 1, 31, 6));

那么有没有更好的方法来编辑垂直位置属性?

最佳答案

假设您使用的是 jgoodies FormLayout,您在重用 CellConstraints 实例时会受到一定限制。从文档和示例中可以看出,每个组件都已添加到面板中,并且 CellConstraints 实例已被复制。此外,当尝试收集当前组件的约束时,将返回CellConstraints副本。但是,您确实有一个选择:您可以获取 CellConstraints 的副本,修改公共(public) vAlign 实例变量,然后在您的设备上调用 setConstraints FormLayout 具有此更新的约束集。

FormLayout layout = (FormLayout)contentPane.getLayout(); 
cc = layout.getConstraints(myLabel);
cc.vAlign = CellConstraints.DEFAULT;
layout.setConstraints(myLabel, cc);

它比您提供的简单重新添加稍微详细一些,但它消除了在原始实例中维护魔数(Magic Number) (1,1,31,6) 的需要。

关于java - 初始化后如何重置JLabel约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3078834/

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