2011-06-01 44 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,如果有的话,任何人都可以告诉我,这是记录在哪里?我确定它必须记录在某处,但我无法在任何地方找到它!

由于

回答

相关问题