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

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

时间: 2024-09-20 05:57:32

jpanel设置背景图片的二个小例子_java的相关文章

Button设置背景图片代码设的有padding效果,布局中没有

问题描述 Button设置背景图片代码设的有padding效果,布局中没有 ?在给Button设置背景图片时:1.如果在布局文件中设置 android:id=""@+id/timeTypeBtn"" android:layout_width=""wrap_content"" android:layout_height=""wrap_content"" android:layout_ali

CSS设置背景图片

CSS设置背景图片需要用到background属性,其中的background-repeat设置图片平铺的方式,no-repeat为图片不重复平铺.CSS手册中对background-repeat的说明如下: 语法: background-repeat : repeat | no-repeat | repeat-x | repeat-y 取值: repeat : 默认值.背景图像在纵向和横向上平铺 no-repeat : 背景图像不平铺 repeat-x : 背景图像仅在横向上平铺 repeat

word2013怎样设置背景图片?

  word2013怎样设置背景图片呢?在使用word2013时,我们希望是文字搭配图片一起显示,这要怎么设置呢?下文小编就教大家word2013插入背景图片的方法,还不会的朋友可以来下文了解下哦~ word2013插入背景图片方法: 1.首先打开word2013,这里小编先打开一个空白文档,先下面先给它设置背景图片,然后后面再上面写一段文字 2.在上面一行的菜单工具栏中点击"插入",打开插入功能选项,在插入功能中,我们可以插入各种能够插入的功能,如表格.图片.视频等. 3.因为我是要

MFC如何给IP控件设置背景图片

问题描述 MFC如何给IP控件设置背景图片 现在做的一个项目中要求给IP控件设置图片作为背景,求大神帮忙 解决方案 http://forums.codeguru.com/showthread.php?158774-CIPAddressCtrl-background-and-text-color 自己重绘,贴图 解决方案二: 重写CIPAddress类,在OnPaint()自绘实现.

html-div里面用style="background-image:url(来设置背景图片

问题描述 div里面用style="background-image:url(来设置背景图片 但是背景图片太大了,页面上显示不了,怎么才能设置div里面的这个图片的大小呢,或者用哪种方式或属性能让图片自适应呢?代码大概如下: );height:expression(body.clientHeight>639?603:(body.clientHeight-36));"> 求指教啊.. 解决方案 用 background-size 属性可以调整背景图片的尺寸或者让它适应 div

jsp-Jsp做界面时怎么设置背景图片和插入图片啊?

问题描述 Jsp做界面时怎么设置背景图片和插入图片啊? 我在用myeclips中的JSP做界面时怎么也插入不了图片,也不知道图片应该放在哪个文件夹下,求指导 解决方案 郁闷,这个编辑器不好使,都乱了!重新排一下. 如果只是单纯的为网页添加背景,就跟制作简单的html和css是一样的.1.添加背景图片,最简单的就是在body标签中添加属性background=""图片路径""或者在body标签内使用内部样式style=""background-im

visual studio 怎样为网页设置背景图片

问题描述 visual studio 怎样为网页设置背景图片 visual studio 怎样为网页设置背景图片,劳烦各位了 解决方案 body { background-image: url('地址'); } 解决方案二: 图片路径放到括号里面就可以了

为jframe窗口设置背景图片

终于成功实现了如何为jframe窗口设置背景图片了.下面是示例,请初学swring的朋友们参考学习! import java.awt.FlowLayout; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; public class JFrameBackground {

界面-QT怎么给标签设置背景图片

问题描述 QT怎么给标签设置背景图片 QT怎么给标签设置背景图片,还有用QT怎么实现QQ一样的登录界面.可以记住密码和自动登录 解决方案 方法一: 首先设置 autoFillBackground 属性为真 然后定义一个QPalette对象 设置QPalette对象的背景属性(颜色或图片) 最后设置QWidget对象的Palette 实例: QWidget *widget = new QWidget; widget->setAutoFillBackground(true); QPalet.....