2015-01-07 32 views
1

我是新來的Java和學習GUI現在一天。我想增加空間的頂部可能FirstPlayer名稱我正在使用JPanelGridLayout但當我添加隱形盒作爲第一個元素來設置我的元素在中心,但我沒有得到我的願望。請幫幫我。如何在JPanel的GridLayout中添加空間?

這裏是我的代碼:

JPanel main = new JPanel(); 

GridLayout layout = new GridLayout(6,1); 
layout.setVgap(10); 
JPanel parentPanel = new JPanel(layout); 
parentPanel.setOpaque(false); 
parentPanel.add(Box.createRigidArea(new Dimension(80,0))); 
parentPanel.add(main.getFirstName()); 
parentPanel.add(main.getFirstField()); 
parentPanel.add(Box.createRigidArea(new Dimension(20,0))); 

parentPanel.add(main.getSecondName()); 
parentPanel.add(main.getSecondField()); 

main.add(parentPanel,BorderLayout.CENTER); 

JFrame frame = new JFrame("Player Menu"); 

frame.add(main,BorderLayout.CENTER); 
frame.add(Box.createRigidArea(new Dimension(100,0)),BorderLayout.NORTH); 
frame.setVisible(true); 
frame.pack(); 
frame.setSize(900,500); 
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
+2

嘗試'GridBagLayout'來代替,[如何使用](http://docs.oracle.com/javase/tutorial/uiswing/layout/gridbag.html) – Arvind

+2

你到底在做什麼? 'GridLayout'使所有組件的大小相同,包括剛性區域。如果您需要製作不同尺寸的東西,則需要使用另一個佈局管理器。 'GridBagLayout'已經被建議,但是一個垂直的'BoxLayout'可以更簡單和足夠你的目的。 – kiheru

+0

看看http://stackoverflow.com/a/5328475/1015495 – MikeTheLiar

回答