2013-05-14 88 views
2

我用Java做俄羅斯方塊和我有佈局參考下面的圖片中幾個問題:Java遊戲 - 佈局

如果該遊戲鍵盤和大屏幕被分成兩個JPanels ONE的JFrame中......那麼只需設置JFrame大小等於gameBoard +記分牌?

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

或者它應該是1 JPanel在1個JFrame中包含所有內容...? (在這裏,我將Frame設置爲等於右邊的gameBoard + 200的大小,所以我有空間來顯示按鈕,分數,下一個等等......)如果是這樣,我該如何對齊這些按鈕?

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

有關我應該如何佈置我的遊戲的任何想法?

enter image description here

+0

@SamIam這應該是神祕的幫助嗎? – Growler

+0

如果您將代碼分成2個區別,您可能更容易組織代碼Panel/JPanel –

+0

http://codereview.stackexchange.com/和http://ux.stackexchange.com/可能會更有幫助。 –

回答

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(); 

更多信息參見Using Layout Managers