我有一个 JFrame,我需要在其中添加 2 个不同大小的不同 JPanel。我正在使用 BorderLayout。我设置了框架,以便有足够的空间让两个面板(尺寸已经设置)完美契合。然而,当它运行时,右侧的第二个面板会一直被压到一边,所以它真的很薄。
public class YourCraft extends JFrame {
public Game() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(606, 500);
setTitle("YourCraft");
setResizable(false);
setVisible(true);
setBackground(Color.BLACK);
}
public static void main(String[] args) {
Game main = new Game();
Board mainBoard = new Board();
Stats mainStats = new Stats();
main.getContentPane().add(BorderLayout.CENTER,mainBoard);
main.getContentPane().add(BorderLayout.EAST,mainStats);
}
最佳答案
为您的组件指定首选尺寸。使用 setPreferredSize 为它们指定尺寸。
然后,在 JFrame 上调用 setVisible( true ) 之前,使用方法 pack()。它将打包 JFrame 并提供足够的空间以确保尊重每个组件的首选大小(如果可能)。
问候, 史蒂芬
关于java - 在框架上为 Jpanel 分配空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6325167/