猿问

java中插入背景图片为什么总是覆盖掉按钮啊

主函数:

public static void main(String[] args) {

MsClient client=new MsClient("聊天进击~",410,100,400,500,95,158,160);

JFrame.setDefaultLookAndFeelDecorated(true);

   client.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置点关闭能够关闭面板的命令

client.addBkImage("G:/欢喜/小象与兔子/23.jpg", -10,-10,400,500, 1);

client.setLayout(null);   

client.setVisible(true);

}

加的按钮是这些

public void addAllBtn(){

this.addBtn(container,"选风格~", new BackgroundActionListener(container,"G:/欢喜/猫咪/23.jpg"), 150,40);

this.addBtn(container,"清新", new BackgroundActionListener(container,"G:/欢喜/猫咪/22.jpg"), 100,330);

this.addBtn(container,"极简", new BackgroundActionListener(container,"G:/机智的李承颖/欢喜/清新/09.jpg"), 250,330);

}

这是我插入背景调用的函数:

public void addBkImage(String path,int x,int y,int w,int h,int index){//"G:/机智的李承颖/欢喜/猫咪/23.jpg"

System.out.println("添加背景");

ImageIcon img = new ImageIcon(path);//这是背景图片   

    JLabel imgLabel = new JLabel(img);//将背景图放在标签里。

    imgLabel.setBounds(x,y,w,h);

    ((JComponent)this.getContentPane()).setOpaque(false);

    //将该面板设置为透明,这样就能显示出背景图片出来了。

    this.add(imgLabel, index);

    //注意这里是关键,将背景标签添加到client的  LayeredPane面板里。

    container.setLayout(null); 

container.setVisible(true);

   

}


Bubblegirl
浏览 5308回答 1
1回答

Caballarii

虽然我不会,但我猜先addBkImage再addAllBtn有可能有用
随时随地看视频慕课网APP

相关分类

Java
我要回答