【发布时间】:2013-11-25 15:08:41
【问题描述】:
我需要帮助将 JPanel 定位到 Jframe 中的特定位置。
我在一个扩展 JFrame 的类中有一个 JPanel,我需要把这个 JPanel 放在一个特定的 x,y 位置。
是这样的:
public class Frame extends JFrame {
public Frame(){
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setLocation(250, 250);
this.setSize(300,300);
this.setVisible(true);
JPanel panel = new JPanel();
this.add(panel);
panel.setLocation(150, 150);
panel.add(new JButton("Hello!")); // just to show JPanel
}//Frame()
}//Frame
对于 JPanel 的位置,我不需要 LayoutManager,因为我需要将该 JPanel 放在特定位置(例如示例中的 150,150)。 但是,如果我像上面的代码那样执行 panel.setLocation(150,150),则什么也不会发生,并且 JPanel 仍位于框架的北中心(如果我更改 x,y 数字而不是 150,150)。
它显示如下:
【问题讨论】:
-
对于绝对定位,您需要使用空布局管理器。如需更多信息,请参阅Doing Without a Layout Manager (Absolute Positioning)。
-
谢谢!这就是我想要的! :D
-
@Graffio31 据我所知不推荐绝对定位