2014-04-28 38 views
1

我正在使用網格佈局,但除第一個面板外,面板不會顯示在框架中。我該如何解決?如何將JPanel添加到指定的JFrame中?

下面是一些代碼

int numPanel = 5; 

frame.setLayout(new GridLayout(numPanel, 1)); 

JPanel _panel = new JPanel(); 

for(int i = 0; i < numPanel; i++) 
    { 
    frame.add(_panel); 
    } 

的最終目的是使用戶指定多少板在框架中包括。我已經知道如何完成這個部分。我只需要幫助獲取面板顯示。

回答

1

從技術上講,你只需要添加一個...

JPanel _panel = new JPanel();  
for(int i = 0; i < numPanel; i++) 
{ 
    frame.add(_panel); 
} 

基本上,一個組件只能駐留在一個單親家庭,但所有你要做的就是創建JPanel和嘗試的單一實例反覆將它添加到某一幀...

相反,你需要在每個迭代

for(int i = 0; i < numPanel; i++) 
{ 
    JPanel _panel = new JPanel();  
    frame.add(_panel); 
} 

創建新實例另外,如果你想爲k eep參考你創建的每個面板,你可以使用一個數組或者一個List

+0

我不敢相信我沒有注意到這一點。哈哈哈。謝謝! – user2840682

+0

@ user2840682歡迎來到我的世界;) – MadProgrammer