gpt4 book ai didi

java - 如何在布局中移动组件?

转载 作者:搜寻专家 更新时间:2023-11-01 01:45:24 26 4
gpt4 key购买 nike

如何在使用布局时移动框架中的组件?我试过这个:

    System.out.println(test1.getLocation());
int oy = test1.getY();
int ox = test1.getX();
oy++;
ox++;
test1.setLocation(ox, oy);
validate();
test1.validate();
System.out.println(test1.getLocation());

第一个位置与最后一个位置相同。我知道您不能在布局中正常更改位置,但如何实现呢?我以前问过类似的问题,但一直没有得到答案。为此,我在整个互联网上进行了搜索,但没有找到答案。

TL;DR - 如何移动组件?

最佳答案

问题是面板的 LayoutManager 正在为您设置标签的位置。

您需要做的是通过以下方式将布局设置为 null:

setLayout(null);

这将使框架/面板不会尝试自行布局组件。

然后在标签上调用setBounds(Rectangle rect)。像这样:

lbl.setBounds(new Rectangle(new Point(200, 300), lbl.getPreferedSize()));这应该将组件放在您想要的位置。

但是,如果您没有充分的理由自行布置组件,通常最好使用 LayoutManager 来为您工作。

Here是开始使用 LayoutManager 的很棒的教程,如果您必须使用 absolute,请查看 this教程

关于java - 如何在布局中移动组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12325940/

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