0
以前,我是使用下面的语句,用于设置帧使用JLabel设置帧的背景图像的正确方法是什么?
JLabel backImage = new JLabel(new ImageIcon("C\\users\\BSK\\Desktop\\win.png"));
的背景和它工作正常和产生以下结果。(编码按钮未示出)
但是,当我创建了一个名为Resource
新包装,并把该图像,并使用下面的语句
JLabel backImage=new JLabel();
ImageIcon img;
img = new ImageIcon(getClass().getResource("/Resource/win.png"));
backImage.setIcon(img);
我得到以下结果: -
正如你可以看到我的拼图方块熄灭scope.So的就是这两种方法之间的区别?
EDIT布局的JLabel backImage
使用是边界Layout.i我首先设定的JFrame作为JLabel的是backImage
的内容窗格,并且在GridBagLayout的一个单独的潘内尔添加的按钮,然后加入潘内尔到contentPane该框架再次是JLabel backImage
。
可以是相对路径问题,试试:'img = new ImageIcon(getClass()。getResource(“Resource/win.png”));' – Pphoenix
标签是如何添加到框架的?什么布局经理正在使用?考虑提供一个[可运行的示例](https://stackoverflow.com/help/mcve),它可以证明你的问题,这将减少猜测工作并产生更好的响应 – MadProgrammer
@Pphoenix图像在那里,它只是在右边:P – MadProgrammer