如何在现有标签旁边设置 JLabel 130px 的位置?

我正在创建一个新标签,我想将其精确放置在现有标签旁边 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);

我没有收到任何错误,但即使我的标签已创建。它们不会出现在所需的位置。


有人知道我能做什么吗?


繁花不似锦
浏览 198回答 2
2回答

RISEBY

我同意使用 LayoutManager 通常更好。也就是说,这是 Oracle 发布的一篇文章,描述了如何执行此操作: Doing without a Layout Manager (Absolute Positioning)

翻过高山走不出你

您发布的代码不会描述问题。请给出可以复制您的问题的示例代码。为了解决您的问题,如果您手动设置元素的位置(setBounds),您需要首先将容器布局设置为空,其次您需要设置添加这些 jlabel 的面板的大小。1.this.setLayout(null);2.panel.setSize(900,900); // whatever the size you need.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java