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