2011-06-01 75 views
0

我是新手Java程序員,我試圖解決BorderLayout在特定情況下的行爲。在不指定位置的情況下將組件添加到BorderLayout容器中

假設您有:對JFrame的

JFrame frame = new JFrame(); 
frame.add(new JLabel("Test")); 

的defualt佈局管理器是BorderLayout。根據BorderLayout的Java教程,必須總是指定位置,例如通過:

frame.add(new JLabel("Test"),BorderLayout.CENTER); 

所以我很困惑的事實,即可能添加一個組件,而不指定位置。如果我修改了上面的代碼是:

JFrame frame = new JFrame(); 
frame.add(new JLabel("Test")); 
frame.add(new JLabel("Test 2")); 
frame.add(new JLabel("Test 3",BorderLayout.NORTH); 

我得到測試2被顯示在中央屏幕左側,並測試3顯示在屏幕的左上角。

我的理解是,如果沒有指定位置,BorderLayout將只是默認爲BorderLayout.CENTER,如果有的話,任何人都可以告訴我,這是記錄在哪裏?我確定它必須記錄在某處,但我無法在任何地方找到它!

由於

回答

相關問題