我是Java的新手程序员,并且我正在尝试弄清BorderLayout在特定情况下的行为。

说您有:

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


JFrame的默认布局管理器是BorderLayout。根据Java关于BorderLayout的教程,必须始终指定位置,例如通过:

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);


我在屏幕的左上方显示了Test 2,在屏幕的左上方显示了Test 3。

我的理解是否正确?如果未指定任何位置,BorderLayout只会默认为BorderLayout.CENTER;如果这样,那么任何人都可以告诉我该文件的记录位置吗?我敢肯定它必须记录在某个地方,但是我在任何地方都找不到!

谢谢

最佳答案

http://download.oracle.com/javase/6/docs/api/java/awt/BorderLayout.html

“为方便起见,BorderLayout将字符串规范的解释解释为与常量CENTER相同”

关于java - 在不指定位置的情况下将组件添加到BorderLayout容器中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6198861/

10-15 02:27