如何解决将多个jPanel添加到jFrame
| 我想将两个jPanels并排添加到JFrame中。两个盒子是jpanels,外部盒子是jframe 我有这些代码行。我有一个名为seatinPanel的类,该类扩展了JPanel,在该类中,我有一个构造函数和一个称为UtilityButtons的方法,该方法返回JPanel对象。我希望UtilityButtons JPanel位于右侧。我这里的代码在运行时仅显示utillityButtons JPanel。public guiCreator()
{
setTitle(\"Passenger Seats\");
//setSize(500,600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container contentPane = getContentPane();
seatingPanel seatingPanel1 = new seatingPanel();//need to declare it here separately so we can add the utilityButtons
contentPane.add(seatingPanel1); //adding the seats
contentPane.add(seatingPanel1.utilityButtons());//adding the utility buttons
pack();//Causes this Window to be sized to fit the preferred size and layouts of its subcomponents
setVisible(true);
}
解决方法
我推荐的最灵活的LayoutManager是BoxLayout。
您可以执行以下操作:
JPanel container = new JPanel();
container.setLayout(new BoxLayout(container,BoxLayout.X_AXIS));
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
//panel1.set[Preferred/Maximum/Minimum]Size()
container.add(panel1);
container.add(panel2);
然后将对象容器添加到框架组件。
, 您需要阅读并了解Swing必须提供的布局管理器。根据您的情况,将有助于了解JFrame的contentPane默认使用BorderLayout,并且您可以添加较大的中心JPanel BorderLayout.CENTER和另一个JPanel BorderLayout.EAST。在此处可以找到更多信息:在容器中布置组件
编辑1
安德鲁·汤普森(Andrew Thompson)在您之前的文章中的代码中已经向您介绍了布局管理器:为什么我的按钮没有显示?同样,请阅读教程以更好地理解它们。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。