2012-09-29 119 views
0

我使用Java創建一個簡單的遊戲。我使用JFrame創建了遊戲的菜單。我對使用什麼佈局將菜單按鈕(開始,高分,指令,退出)置於中心感到困惑。我想到的方法是: 創建三列的網格佈局,並在中間一列中添加一個框佈局(具有菜單按鈕)位於此列的中央。混淆佈局管理器使用

我應該用這種方法?如果沒有,那麼請告訴我解決方案。

+0

也許你應該嘗試一下,看看,然後問這裏如果你有一個具體的問題? – DNA

+0

使用'GridBagLayout',你可能想看看[佈局管理器的視覺教程](http://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html) – MadProgrammer

回答

1

使用GridBagLayout

enter image description here

JButton startButton = new JButton("Start"); 
JButton scoreButton = new JButton("High Score"); 
JButton instructButton = new JButton("Instructions"); 
JButton exitButton = new JButton("Exit"); 

GridBagConstraints gbc = new GridBagConstraints(); 
gbc.fill = java.awt.gbc.HORIZONTAL; 
gbc.insets = new java.awt.Insets(2, 2, 2, 2); 
gbc.gridx = 0; 
gbc.gridy = 0; 
getContentPane().add(startButton, gbc); 

gbc.gridy = 1; 
getContentPane().add(scoreButton, gbc); 

gbc.gridy = 2; 
getContentPane().add(instructButton, gbc); 

gbc.gridy = 3; 
getContentPane().add(exitButton, gbc); 
+0

謝謝它真的有效,但我在理解與這些佈局相關的一些術語時有一些困惑。但MADProgrammer我認爲,而不是gbc.insets = java.awt.gbc.HORIZONTAL,它應該是gbc.insets = GridBagLaoutConstraints.HORIZONTAL 再次,感謝幫助 –

+0

madprogrammer!你的按鈕外觀和感覺與我的不同。矩形形狀的按鈕正在顯示,但是我必須做些什麼以獲得上述外觀。 –

+0

我用系統默認的外觀和感覺(在這種情況下Windows)中,即UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()) – MadProgrammer

0

Madprogrammer是對的,使用gridbaglayout。我自己實在太懶惰,不願與佈局管理員混在一起,所以我使用WindowBuilder for Eclipse SDK。在谷歌上搜索它。 WindowBuilder具有雙向代碼生成功能(也就是說,它可以解析擺動代碼,然後根據你在GUI中做的事情生成它),以及它的所有拖放操作。