我把加载图片装成一个静态方法:
public static void setBackground(String imagename){
img1 = new ImageIcon("Image/"+imagename); //img1为ImageIcon型,静态
Image im = img1.getImage();
im = im.getScaledInstance(400, 600, Image.SCALE_DEFAULT);
img1.setImage(im);//压缩图片
imgLabel = new JLabel(img1);//将背景图放进标签,imgLabel为JLabel型,静态
imgLabel.setBounds(0,0,400,600);
}
然后哪个窗口需要设置背景就调用这个类的静态方法:
类名.setBackground("1.jpg");
window.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));
((JComponent) con).setOpaque(false);//window、con分别是当前窗口,容器
但是如果我想点击按钮就给指定窗口换背景的话却没有反应,按钮响应部分代码:
String name = s + ".jpg";
类名.setBackground(s);
指定窗口.getLayeredPane().add(类名.imgLabel, new Integer(Integer.MIN_VALUE));
((JComponent)指定窗口的容器).setOpaque(false);
求解应该怎么做???