0

我正在用 Java 制作俄罗斯方块,我有几个关于布局的问题,参考下图:

游戏板和记分板是否应该在一个 JFrame 中分成两个 JPanel ......然后只需将 JFrame 大小设置为等于 gameBoard + 记分板?

JFrame f = new JFrame("Tetris");  
f.setSize(gameBoard.getWidth()+scoreBoard.getWidth(), gameBoard.getHeight());

还是应该是包含所有内容的 1 个 JFrame 中的 1 个 JPanel...?(这里我将 Frame 设置为右侧的 gameBoard + 200 的大小,所以我有空间显示按钮、得分、下一个 Piece 等...)如果是这样,我如何对齐这些按钮等?

JFrame f = new JFrame("Tetris");  
f.setSize(gameBoard.getWidth()+200, gameBoard.getHeight());

关于我应该如何布局我的游戏有什么想法吗?

在此处输入图像描述

4

1 回答 1

1
  • 不要使用setSize. 使用布局,定位所有组件,然后调用f.pack. 这将自动正确调整窗口大小。

  • 你绝对应该有不止一个JPanel。您的两面板布局看起来不错。

例如:

JPanel contentPane = new JPanel(new BorderLayout());
contentPane.add(mainGamePanel, BorderLayout.CENTER);
contentPane.add(scorePanel, BorderLayout.EAST);
f.setContentPane(contentPane);
f.pack();

有关详细信息,请参阅使用布局管理器。

于 2013-05-14T20:58:33.420 回答