我正在创建一个新标签,我想将其精确放置在现有标签旁边 130 像素的位置。我不熟悉布局,宁愿绝对定位我的标签。我的代码如下: playerLabels[index] = new javax.swing.JLabel(); playerLabels[index].setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/image001".png"))); playerLabels[index].setBounds(playerLabels[index - 1].getX() + 130, playerLabels[index - 1].getY(), playerLabels[index - 1].getWidth(), playerLabels[index - 1].getHeight()); panel.add(playerLabels[index]); playerLabels[index].setVisible(true);我没有收到任何错误,但即使我的标签已创建。它们不会出现在所需的位置。有人知道我能做什么吗?
2 回答
RISEBY
TA贡献1856条经验 获得超5个赞
我同意使用 LayoutManager 通常更好。也就是说,这是 Oracle 发布的一篇文章,描述了如何执行此操作: Doing without a Layout Manager (Absolute Positioning)
翻过高山走不出你
TA贡献1875条经验 获得超3个赞
您发布的代码不会描述问题。请给出可以复制您的问题的示例代码。
为了解决您的问题,如果您手动设置元素的位置(setBounds),您需要首先将容器布局设置为空,其次您需要设置添加这些 jlabel 的面板的大小。
1.
this.setLayout(null);
2.
panel.setSize(900,900); // whatever the size you need.
添加回答
举报
0/150
提交
取消