【发布时间】:2012-09-01 19:11:42
【问题描述】:
如何在使用布局时移动框架中的组件?我试过这个:
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 - 如何移动组件?
【问题讨论】:
-
Swing 将每个组件
BorderLayout作为默认布局管理器。尝试使用setLayoutManager(null)关闭面板以启用绝对定位。 -
@millimoose:不,
JFrame的默认布局是BorderLayout;JPanel的默认布局是FlowLayout; 不需要绝对定位。
标签: java swing components jlabel