当前位置: 移动技术网 > IT编程>开发语言>Java > jpanel设置背景图片的二个小例子

jpanel设置背景图片的二个小例子

2019年07月22日  | 移动技术网IT编程  | 我要评论

这个jpanel可以动态加载一个图片做背景

复制代码 代码如下:

import java.awt.graphics;
import java.awt.image;
import java.awt.toolkit;

import javax.swing.jpanel;

/**
 * 一个可以动态加载一个图片做背景的jpanel
 */
public class imagepanel extends jpanel{
 image im;
 //构造函数制定jpanel的大小
 public imagepanel(image im) {
  this.im = im;
  //希望该panel的大小事自适应的
  int width = toolkit.getdefaulttoolkit().getscreensize().width;
  int height = toolkit.getdefaulttoolkit().getscreensize().height;
  this.setsize(width,height);
 }
 //画出背景
 @override
 protected void paintcomponent(graphics g) {
  // 清屏
  super.paintcomponent(g);
  g.drawimage(im, 0, 0, this.getwidth(), this.getheight(), this);
 }
}

jpanel面板中设置背景图片的另外一个例子

复制代码 代码如下:

import java.awt.*;
import javax.swing.*;

public class demo extends jframe
{
    public demo()
    {
     super("title");
     newpanel p = new newpanel();
     this.getcontentpane().add(p); //将面板添加到jframe上
     this.setsize(596,298); //初始窗口的大小
     this.setlocationrelativeto(null); //设置窗口居中
     this.setdefaultcloseoperation(jframe.exit_on_close);
     this.setvisible(true);
    }

    public static void main(string[] args)
    {
     new demo();
    }

    class newpanel extends jpanel
   {
     public newpanel()
     {

     }

     public void paintcomponent(graphics g)
     {
        int x=0,y=0;
        java.net.url imgurl=getclass().getresource("test.jpg");

        //test.jpg是测试图片,与demo.java放在同一目录下
        imageicon icon=new imageicon(imgurl);
        g.drawimage(icon.getimage(),x,y,getsize().width,getsize().height,this);
        while(true)
        {
          g.drawimage(icon.getimage(),x,y,this);
          if(x>getsize().width && y>getsize().height)break;
          //这段代码是为了保证在窗口大于图片时,图片仍能覆盖整个窗口
          if(x>getsize().width)
          {
             x=0;
             y+=icon.geticonheight();
          }
          else
           x+=icon.geticonwidth();
        }
     }
   }
}

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网