我的JPanels使用BorderLayout时遇到了烦人的问题。
this.setLayout(new BorderLayout(0, 0));
JPanel panel = new JPanel(new BorderLayout(0, 0));
panel.add(new Slot(), BorderLayout.SOUTH);
panel.add(new MapGUI(), BorderLayout.NORTH);
this.add(panel, BorderLayout.CENTER);
这是我的Inventory JPanel的构造函数。 Slot()和MapGUI()是扩展JPanel的类。游戏运行时,屏幕如下所示:
显然,面板完全关闭,两者都不在屏幕上。我怎样才能解决这个问题?谢谢你的帮助。
答案 0 :(得分:1)
根据BorderLayout的JavaDocs:
根据组件的首选尺寸和容器尺寸的限制来布置组件。 NORTH和SOUTH组件可以水平拉伸; EAST和WEST组件可以垂直拉伸; CENTER组件可以水平和垂直拉伸,以填充剩余的空间。
您是否设置了首选尺寸?
如果要垂直对齐组件,可能需要尝试BoxLayout。