我正在尝试在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。它只显示最后一个标签。
答案 0 :(得分:1)
这取决于您设置的LayoutManager。可能你离开了默认的BorderLayout
,因此所有这些都被添加到中心并拉伸到窗口大小。所以最后添加的一个 - 当然 - 涵盖了之前添加的所有标签。尝试使用FlowLayout
或其他内容:请参阅此A Visual Guide to Layout Managers
因此,假设您在JFrame
的子项中创建GUI元素,这就是布局管理器的设置方式:
setLayout(new FlowLayout());
//...
add(label1);
add(label2);
add(label3);
//...