jframe组件布局

时间:2010-01-11 17:20:29

标签: java swing layout

如何在JFrame上指定组件(特定于JLabel)的位置?我创建了一个JFrame对象,并在框架中添加了一个JLabel和一个JList,但两个对象都放在了彼此的顶部。我尝试过使用

label.setBounds(10,10,10,10);
list.setBounds(20,20,100,100);

label.setLocation(10,10);
list.setLocation(10, 50);

这些都不起作用。任何帮助表示赞赏!感谢。

2 个答案:

答案 0 :(得分:2)

在Java中,使用布局管理器来确定组件的放置方式。您可以在此处找到有关布局管理器的更多信息:http://java.sun.com/docs/books/tutorial/uiswing/layout/using.html

如果您肯定想使用坐标来放置组件,可以尝试:

JFrame frame = new JFrame();
frame.setLayout(null);

否则,一个非常好的Java GUI编辑器是NetBeans,它默认使用GroupLayout。

答案 1 :(得分:1)

Layout Managers会为你做到这一点。

使用默认布局BorderLayout,尝试

setLayout(new BorderLayout());
getContentPane().add(yourLabel, BorderLayout.NORTH);
getContentPane().add(yourList, BorderLayout.CENTER);