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);
已經。有什麼問題?謝謝無法將JButtons數組添加到JPanel
編輯:由於沒有人回答,這個問題可能在其他地方。 我加了公共遊戲();構造函數作爲錯誤的可能來源。
你得到什麼錯誤? –
完全沒有錯誤。按鈕只是不顯示。 –
據我所知,缺陷在於這行'buttons [col] [row] .setBounds(4,4,span,span);',因爲每個用作該方法參數的值在整個生命期間保持不變循環的循環。因此,所有。按鈕將出現在同一個地方,一個在另一個之上。 –