我有null
面板的代码:
JPanel thePanel = new JPanel();
thePanel.setLayout(null);
我使用setBounds(x, y, width, heigth)
,例如在这里:
label2.setBounds(150, 220, 459, 311);
我读到这不是一个好的做法,你能告诉我为什么吗?
仅仅是因为当你想在一个组件和另一个组件之间添加一些东西时,你必须一次又一次地设置它们的位置,还是因为其他原因?
绝对定位存在多个问题:
- 不同的屏幕尺寸和分辨率,在你的机器上看起来很棒的东西在另一个不同分辨率的屏幕上可能会出现不同的效果。
- 同样的,当用户调整屏幕大小,因为他们想让你的应用程序和其他应用程序并排运行(复制粘贴或其他),会发生什么?
- 不同的语言环境和字体大小,当你使用另一个语言环境,或另一种字体,或改变字体大小时,你的标签会发生什么。
可能有更多的原因,但是使用布局管理器可以确保当窗口大小调整时内容被重新分配,或者当容器的内容改变时,…
一开始使用绝对定位可能是最简单的方法,但了解不同的布局管理器及其操作方式是值得的。它将为您省去许多麻烦,例如,更改需求。