java - 将组件添加到 BorderLayout 容器而不指定位置

标签 java

我是一名新手 Java 程序员,我正在尝试研究 BorderLayout 在特定情况下的行为。

假设你有:

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

JFrame 的默认布局管理器是 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,如果是这样,任何人都可以告诉我这是在哪里记录的吗?我确信它一定记录在某个地方,但我在任何地方都找不到它!

谢谢

最佳答案

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

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

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

相关文章:

java - 将串行端口输出重定向到套接字

java - Junit5中如何检查嵌套对象是否相等

java - 我使用 javascript 创建了一个 html 文件来在 firebase 中存储图像,但是如果我运行 html 并单击选择文件,它会在控制台中显示错误

java - 在 Java 中迭代堆栈时出现错误

java - 如何在 Java Swing 中实现语言按钮?

java - 可重入同步陷入无限循环

java - Hibernate 与 struts2 集成 - session 为空

java - 具有引用和原始类型的 isAssignableFrom

JavaFX 允许用户仅编辑文本的某些区域

java - 无法接收 DSPLIBL(as400.access 包)的输出