jpanel设置背景图片的二个小例子
jpanel设置背景图片的二个小例子
发布时间:2016-12-28 来源:查字典编辑
摘要:这个Jpanel可以动态加载一个图片做背景复制代码代码如下:importjava.awt.Graphics;importjava.awt.I...

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

}

}

}

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Java学习
热门Java学习
编程开发子分类