gpt4 book ai didi

java - GridBagLayout 对齐问题

转载 作者:行者123 更新时间:2023-11-29 03:21:12 25 4
gpt4 key购买 nike

我使用 GridBagLayout 创建面板。

我想要面板右上角的删除图标。但是,如果未将 JTextArea 添加到面板,删除图标将向左移动。

如何正确地做到这一点?

rendered

这里有我的 GridBagLayout 面板设置代码

public void setting() {
try {

this.setLayout(new GridBagLayout());
c = new GridBagConstraints();
c.anchor = GridBagConstraints.WEST;
c.fill = GridBagConstraints.BOTH;
c.weightx = 1.0; // **** comment this line out to see effect ****
c.weighty = 1.0; // **** comment this line out to see effect ****
this.setBorder(BorderFactory.createLineBorder(Color.black));
addMouseListener(this);
buildTopJPane();
setVisible(true);
} catch (Exception err) {
Utility.DisplayErrorMsg(pageErrorPrefix + err.getMessage().toString());
}
}

面板中添加组件的代码

private void buildTopJPane() {

try {


c.gridx = 0;
c.gridy = 0;
c.fill = GridBagConstraints.NONE;
this.add(setAttonIconCreator(), c);

c.gridx = 5;
c.gridy = 0;
c.gridwidth = 4;
this.add(setDeleteIcon(), c);

c.gridx = 0;
c.gridy = 1;
c.gridwidth = 4;
this.add(setPageDateLabel(), c);

if (thisComment.content != null) {
if (thisComment.content.length() > 0)
c.gridx = 0;
c.gridy = 2;
c.gridwidth = 4;
this.add(setContent(), c);
}
} catch (Exception err) {
Utility.DisplayErrorMsg(pageErrorPrefix + err.getMessage().toString());
}
}

最佳答案

在删除图标上结合使用 weightxanchor

例如,尝试使用 weightx = 1anchor = GridBagConstraints.WEST。请注意,这也会将其他内容推到左侧。

您也可以尝试在评论面板上使用 weightx = 1

您可能还会发现更好地使用 gridwidth 和单元格放置允许您跨列重叠组件,这会给您带来更好的结果。

在下一个组件上使用它们之前,不要忘记重置约束。

关于java - GridBagLayout 对齐问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23553750/

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