我正在創建一個新標簽,我想將其精確放置在現有標簽旁邊 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
提交
取消