使用 BorderLayout 的 JPanels 间距不正确
Incorrect Spacing with JPanels using BorderLayout
我的使用 BorderLayout 的 JPanel 有一个烦人的问题。
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 的 类。游戏运行时,画面如下所示:
很明显,面板完全关闭,两者都不在屏幕上。我怎样才能解决这个问题?感谢您的帮助。
根据 BorderLayout 的 JavaDocs:
The components are laid out according to their preferred sizes and the constraints of the container's size. The NORTH and SOUTH components may be stretched horizontally; the EAST and WEST components may be stretched vertically; the CENTER component may stretch both horizontally and vertically to fill any space left over.
您是否设置了首选尺码?
如果要垂直对齐组件,您可能想尝试 BoxLayout。
我的使用 BorderLayout 的 JPanel 有一个烦人的问题。
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 的 类。游戏运行时,画面如下所示:
很明显,面板完全关闭,两者都不在屏幕上。我怎样才能解决这个问题?感谢您的帮助。
根据 BorderLayout 的 JavaDocs:
The components are laid out according to their preferred sizes and the constraints of the container's size. The NORTH and SOUTH components may be stretched horizontally; the EAST and WEST components may be stretched vertically; the CENTER component may stretch both horizontally and vertically to fill any space left over.
您是否设置了首选尺码?
如果要垂直对齐组件,您可能想尝试 BoxLayout。