JLabel只显示最后一个标签

时间:2012-02-20 17:54:47

标签: jlabel

我正在尝试在Frame上创建多个标签。我见过的每个例子都完全按照我的方式做到了......

JLabel label1 = new JLabel("Label 1");
JLabel label2 = new JLabel("Label 2");
//... goes on through label5

frame.add(label1);
frame.add(label2);
//... etc through label 5.

仅显示标签5。如果我注释掉5,则仅显示标签4。它只显示最后一个标签。

1 个答案:

答案 0 :(得分:1)

这取决于您设置的LayoutManager。可能你离开了默认的BorderLayout,因此所有这些都被添加到中心并拉伸到窗口大小。所以最后添加的一个 - 当然 - 涵盖了之前添加的所有标签。尝试使用FlowLayout或其他内容:请参阅此A Visual Guide to Layout Managers

因此,假设您在JFrame的子项中创建GUI元素,这就是布局管理器的设置方式:

setLayout(new FlowLayout());
//...
add(label1);
add(label2);
add(label3);
//...