如何将JLabel定位到Java GUI上的绝对位置

我在JPanel有很多JLabel (包括ImageIcon )。

而这个JPanel只是GUI上的一个面板; 还有很多其他面板。

我想将标签放在JPanel容器上的精确像素坐标上。

如果不使用GroupLayout ,我该怎么做?

请参阅Java教程中的“不使用布局管理器(绝对定位) ”。

在没有布局管理器的情况下创建容器涉及以下步骤。

  1. 通过调用setLayout(null)将容器的布局管理器设置为null。
  2. 为每个容器的子setbounds调用Component类的setbounds方法。
  3. 调用Component类的repaint方法。

  • 在面板上设置自定义LayoutManagerContainer.setLayout ),用于设置所需的确切位置或
  • 设置一个null布局管理器( myPanel.setLayout(null); )并在外部设置组件位置( Component.setBounds )。

看看MigLayout,它允许你做绝对定位,它不是JDK的一部分, 而是单独下载 。

就布局管理人员而言,这是非常好的绝对定位,以及其他一些东西。