如何将JLabel定位到Java GUI上的绝对位置
我在JPanel
有很多JLabel
(包括ImageIcon
)。
而这个JPanel
只是GUI上的一个面板; 还有很多其他面板。
我想将标签放在JPanel
容器上的精确像素坐标上。
如果不使用GroupLayout
,我该怎么做?
请参阅Java教程中的“不使用布局管理器(绝对定位) ”。
在没有布局管理器的情况下创建容器涉及以下步骤。
- 通过调用
setLayout(null)
将容器的布局管理器设置为null。- 为每个容器的子
setbounds
调用Component
类的setbounds
方法。- 调用
Component
类的repaint
方法。
或
- 在面板上设置自定义
LayoutManager
(Container.setLayout
),用于设置所需的确切位置或 - 设置一个
null
布局管理器(myPanel.setLayout(null);
)并在外部设置组件位置(Component.setBounds
)。
看看MigLayout,它允许你做绝对定位,它不是JDK的一部分, 而是单独下载 。
就布局管理人员而言,这是非常好的绝对定位,以及其他一些东西。