好吧,我需要一些关于使用哪些布局管理器将框架划分为两个区域的技巧,假设在框架的左侧将插入一个绘图 jpanel,在框架的右侧我将创建按钮和其他东西来控制它。那么我应该使用什么布局管理器以及它应该看起来如何?因为上次我需要类似的东西,我尝试使用框布局,然后使用边框布局,但我想我不知道如何正确使用它,因为结果不好。
任何人都可以帮忙吗?
好吧,我需要一些关于使用哪些布局管理器将框架划分为两个区域的技巧,假设在框架的左侧将插入一个绘图 jpanel,在框架的右侧我将创建按钮和其他东西来控制它。那么我应该使用什么布局管理器以及它应该看起来如何?因为上次我需要类似的东西,我尝试使用框布局,然后使用边框布局,但我想我不知道如何正确使用它,因为结果不好。
任何人都可以帮忙吗?
我会选择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
我认为 JSplitPane 是您想要和需要的。
它完全符合您的要求:将框架分成 2 个独立的区域,您可以在其中做任何您想做的事情。
由于这是您唯一的组件,我认为父框架的 FlowLayout 就足够了。
有关更多详细信息,请参见此处:http ://docs.oracle.com/javase/tutorial/uiswing/components/splitpane.html