我是一名新手Java程序员,我正试图在特定情况下解决BorderLayout的行为。
说你有:
JFrame frame = new JFrame();
frame.add(new JLabel("Test"));
JFrame的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,如果是这样,任何人都可以告诉我记录的位置吗?我确定它必须在某处记录,但我无法在任何地方找到它!
由于
答案 0 :(得分:3)
http://download.oracle.com/javase/6/docs/api/java/awt/BorderLayout.html
“为方便起见,BorderLayout解释缺少字符串规范与常量CENTER相同”