2012-02-20 57 views
0

我試圖在一個框架上創建多個標籤。我見過的每一個例子做究竟如何我已經做到了......JLabel只顯示最後的標籤

JLabel label1 = new JLabel("Label 1"); 
JLabel label2 = new JLabel("Label 2"); 
//... goes on through label5 

frame.add(label1); 
frame.add(label2); 
//... etc through label 5. 

只有標籤5是被顯示。如果我註釋掉5,則只顯示標籤4。它只顯示任何最後的標籤。

+0

您正在使用的getContentPane()方法? – 2012-02-20 17:58:21

+0

顯然這是因爲我沒有使用佈局管理器。設置一個frame.setLayout(新的FlowLayout();雖然它還不是很漂亮,但它可以獲取屏幕上的所有內容,並讓我進入下一步。 – kaylendarr 2012-02-20 18:00:44

回答

1

這取決於您設置了哪個LayoutManager。可能你離開了默認的BorderLayout,因此所有這些都被添加到中心並被拉伸到窗口大小。所以最後添加的 - 當然 - 涵蓋了所有以前添加的標籤。嘗試使用FlowLayout或別的東西:請參閱本A Visual Guide to Layout Managers

因此,假設您正在創建的JFrame孩子中的GUI元素,這是怎麼佈局管理器設置:

setLayout(new FlowLayout()); 
//... 
add(label1); 
add(label2); 
add(label3); 
//...