当前位置:  编程技术>java/j2ee

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

    来源: 互联网  发布时间:2014-11-04

    本文导语:  这个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可以动态加载一个图片做背景

代码如下:

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();
        }
     }
   }
}


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.swing类jpanel的类成员方法: jpanel定义及介绍
  • 如何使JPanel中的一个继承JPanel的组件的尺寸发生动态改变???
  • java命名空间javax.swing类jpanel.accessiblejpanel的类成员方法: jpanel.accessiblejpanel定义及介绍
  • 我要在JPanel上画一个字符串String,有没有让它倒立(竖着显示在JPanel上)的函数(类似drawSting()的)
  • java命名空间javax.swing类jpanel的类成员方法: getaccessiblecontext定义及介绍
  • JPanel中如何动态生成组件?
  • java命名空间javax.swing类jpanel的类成员方法: paramstring定义及介绍
  • 我是JAVA新手,所以我不明白(JPanel)类的东西
  • java命名空间javax.swing类jpanel的类成员方法: getui定义及介绍
  • 为什么JBuilder 7中的JPanel的layout属性出不来
  • java命名空间javax.swing类jpanel的类成员方法: setui定义及介绍
  • JPanel中如何捕获键盘事件?
  • java命名空间javax.swing类jpanel的类成员方法: getuiclassid定义及介绍
  • 怎么可以得到一个JPanel下的所有JTextField的所有变量名。
  • java的JPanel问题
  • 再开一贴,JPanel如何收到键盘事件
  • 请问怎么获得一个JPanel的更改大小完毕的消息
  • JPanel如何加标题?
  • 如何通过菜单切换同一对象下jpanel。有何方法,如果有代码示范,就更好了
  • 我在JPanel上画了一个图,我怎么才能实现缩放功能即,我用放大,缩小的Button控制)???? 在线等待...
  • 请问JPanel不支持滚动条吗?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3