0
public game()
{
    setTitle("game");
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setResizable(false);
    setLayout(new BorderLayout());
    buildMenu();
    setJMenuBar(menuBar);
    buildGreetingsPanel();
    add(greetingsPanel, BorderLayout.NORTH);
    buildGamePanel();
    add(gamePanel, BorderLayout.CENTER);
    buildStatusPanel();
    add(statusPanel, BorderLayout.SOUTH);
    buildSettingsPanel();
    add(settingsPanel);
    pack();
    setVisible(true);
}

[...............]

private void buildGamePanel()
{
    gamePanel = new JPanel();
    gamePanel.setBorder(BorderFactory.createLineBorder(difficultyColor));
    gamePanel.setPreferredSize(new Dimension(9 * span, 9 * span));
    gamePanel.setLayout(new GridLayout(40, 40, 0, 0));

    for(col = 0; col < gameWidth; col++)
    {
        for(row = 0; row < gameHeight; row++)
        {
            buttons[col][row] = new JButton();
            buttons[col][row].setBounds(4, 4, span, span);
            buttons[col][row].addMouseListener(new mouseListener());
            gamePanel.add(buttons[col][row]);
        }
    }
}

正如标题所读。
我已经添加buildGamePanel();add(gamePanel, BorderLayout.CENTER); 。有什么问题?谢谢

编辑:由于还没有人回答,问题可能出在其他地方。我添加了公共游戏();构造函数作为错误的可能来源。

4

1 回答 1

0

问题出在 BorderLayout();

编译时,settingsPanel 在 gamePanel 之前被添加到 GUI 的中心。忘记指定了应该如下放置:

    add(settingsPanel, BorderLayout.EAST);
于 2013-07-27T18:17:54.217 回答