java 设置JPanelyou 背景图片 并且上层JPanel 不会覆盖下层JPanel背景图片

时间:2024-04-10 18:08:58
import java.awt.*;
import javax.swing.*;

public class backpic  extends JPanel {
String strpic = new String();//继承这个类的时候 传一个图片位置的字符串
 public backpic(String strpic) {
 this.strpic = strpic;  
 }
public void paintComponent(Graphics g)  { //重写JPanel的绘制背景方法
//
  int x = 0, y = 0;
  ImageIcon icon = new ImageIcon(strpic);//
  g.drawImage(icon.getImage(), x, y, getSize().width, getSize().height, this);// 图片会自动缩放
   // g.drawImage(icon.getImage(), x, y,this);//图片不会自动缩放
 }

}


public class test extends backpic{


JPanel pa1 = new backpic("");  //实例化一个backpic对象 传参数空字符串 背景就是透明的

JPanel pa2 = new backpic("");

test(){

super("1.jpg");

add(pa1);add(pa2);//将这两个面板加到有背景的面板上面 不会覆盖它的背景

}

}java 设置JPanelyou 背景图片 并且上层JPanel 不会覆盖下层JPanel背景图片