Java用什么布局管理器将窗口划分为两个区域

时间:2012-09-18 17:24:56

标签: java jpanel layout-manager

我需要一些关于哪些布局管理器用于将框架划分为两个区域的提示,假设在框架的左侧将插入绘图jpanel,并且在框架的右侧我将创建按钮和其他东西来控制它。那么我应该使用什么布局管理器以及它应该如何?因为上次我需要这样的东西我尝试使用盒子布局然后使用borderlayout,但我想我不知道如何正确使用它会导致结果不好。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:2)

我会选择BorderLayout。将您的导航内容放在orderLayout.EASTBorderLayout.WEST(分别为左右),好像您想要WEST。然后为您的内容指定Border.CENTER或不指定一个。

JPanel parent = new JPanel();
parent.setLayout(new BorderLayout());
JPanel navigation = createNavigation();
JPanel content = createContent();

parent.add(navigation, BorderLayout.WEST);
parent.add(content, BorderLayout.CENTER);  // or parent.add(content);

@Razvan有一个很好的观点,特别是如果您希望用户的分隔符可以手动控制两个布局的宽度。边框布局将使侧面板适合组件所需的最小尺寸,并将所有额外空间放在CENTER区域中。

此处有更多详情:http://docs.oracle.com/javase/6/docs/api/java/awt/BorderLayout.html

答案 1 :(得分:1)

我认为JSplitPane是您想要和需要的。

它完全符合您的要求:在2个独立区域中分割一个框架,您可以在其中执行任何操作。

由于这是你唯一的组件,我认为父框架的FlowLayout就足够了。

有关详细信息,请参阅此处:http://docs.oracle.com/javase/tutorial/uiswing/components/splitpane.html