我需要一些关于哪些布局管理器用于将框架划分为两个区域的提示,假设在框架的左侧将插入绘图jpanel,并且在框架的右侧我将创建按钮和其他东西来控制它。那么我应该使用什么布局管理器以及它应该如何?因为上次我需要这样的东西我尝试使用盒子布局然后使用borderlayout,但我想我不知道如何正确使用它会导致结果不好。
有人可以帮忙吗?
答案 0 :(得分:2)
我会选择BorderLayout。将您的导航内容放在orderLayout.EAST
或BorderLayout.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