疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

Java之设置背景图片的几种方法


 

   

  第一种方法,通过JLabel来装载图片。

  创建一个ImageIcon对象,来获取背景图片。

  ImageIcon img = new ImageIcon("image/img1.png");

  创建一个JLabel对象,将图片img载入到JLabel对象中。

  JLabel jl_bg = new JLabel(img); //背景

  然后,设置jl_bg的位置和大小。

  this.jl_bg.setBounds(0, 0, 600, 400); //设置位置和大小,先setLayout(null)一下。

  将JLabel对象jl_bg放入分层面板中。

  this.getLayeredPane().add(jl_bg, new Integer(Integer.MIN_VALUE));

  ((JPanel)this.getContentPane()).setOpaque(false); //设置透明

  如上代码中,getLayeredPane()获取的是分层面板,将背景图片放置最底层,就可以作为背景图片了。我们知道,在JFrame中还有一个ContentPane容器,如此,放置最底层就会被ContentPane所遮挡,所以,需要添加第二行代码,将此设置为透明。注意,需要对其进行强制转换。

  第二种方法,通过paint绘制背景图片。

  这种方法也是比较常用的方法,首先需要创建一个BufferedImage对象,并初始化为null。

  BufferedImage bg = null;

  然后就是加载背景图片。

  try {

  bg = ImageIO.read(new File("image/img1.png"));

  }catch(Exception e) {

  e.printStackTrace();

  }

  最后,在重写paint方法,通过drawimage方法,将此背景图片绘制即可。

  public void paint(Graphics g) {

  g.drawImage(bg, 0, 0, null);

  }