Java 我想用另一个JLabel替换一个JLabel,但将其保持在相同的位置,这可能吗?
以下是我试图编辑的代码:Java 我想用另一个JLabel替换一个JLabel,但将其保持在相同的位置,这可能吗?,java,jframe,jpanel,jlabel,Java,Jframe,Jpanel,Jlabel,以下是我试图编辑的代码: game = new JPanel(); ImageIcon bbb = new ImageIcon("bbb.gif"); JLabel bbbl = new JLabel(bbb); ImageIcon bbbH = new ImageIcon("bbbH.gif"); JLabel bbbHl = new JLabel(bbbH); game.setLayout(ne
game = new JPanel();
ImageIcon bbb = new ImageIcon("bbb.gif");
JLabel bbbl = new JLabel(bbb);
ImageIcon bbbH = new ImageIcon("bbbH.gif");
JLabel bbbHl = new JLabel(bbbH);
game.setLayout(new GridLayout(2,2));
game.add(bbol);
game.add(bbgl);
game.add(bbgrl);
game.add(bbbl);
if (flashed == 1)
{
game.remove(bbol);
game.add(bboHl);
}
else
{
}
我希望JLabelbboHl
与JLabelbbol
处于相同的位置,但在此之后还有其他JLabel,更确切地说是3个,因此解释了为什么布局是(GridLayout(2,2))
是否需要更改布局?将组件删除/添加到布局成本太高。 据我所知,你只想拍一张照片: 只添加一个JLabel,并在其上使用设置图标来更改图像
game = new JPanel();
ImageIcon bbb = new ImageIcon("bbb.gif");
ImageIcon bbbH = new ImageIcon("bbbH.gif");
JLabel bbbl = new JLabel(bbb);
game.setLayout(new GridLayout(2, 2));
game.add(bbol);
game.add(bbgl);
game.add(bbgrl);
game.add(bbbl);
if (flashed == 1) {
bbbl.setIcon(bbbH);
} else {
bbbl.setIcon(bbb);
}
假设有多个标签,如
label1
、label2
、label3
等,并且您希望将它们设置在标签bbo1
的位置。然后可以通过获取标签bbo1
的位置并将其设置为所有其他标签来完成
比如说
label1.setLocation(bbo1.getLocation());
label2.setLocation(bbo1.getLocation());
label3.setLocation(bbo1.getLocation());