`
ypf3027
  • 浏览: 306792 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

带背景图片的JPanel

    博客分类:
  • JAVA
阅读更多

说明:本实例实现了两种背景图片的设置方法:

1,小幅图片自动复制多张填充整个背景。

2,大幅图片一张图填充整个背景。

 

package cn.xcu.ui;

import java.awt.Dimension;
import java.awt.Graphics;
import java.net.URL;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;

/**
 * 
 * 自定定带背景图片的Panel
 * 
 * @author Everest
 *
 */
public class JPanelXcu extends JPanel {

	private static final long serialVersionUID = -7844180055896970944L;
	private ImageIcon img; //背景图片
	
	public JPanelXcu() {
		this.img = new ImageIcon(getRes("cn/xcu/img/bgg.jpg"));
	}
	
	public JPanelXcu(ImageIcon imgbg) {
		if(imgbg !=null){			
			this.img = imgbg;
		}else{
			this.img = new ImageIcon(getRes("cn/xcu/img/bgg.jpg"));
		}
	}

	private URL getRes(String str){
	   	 return this.getClass().getClassLoader().getResource(str);
	}
	
	/**
	 * 整张图做背景
	 */
	/*protected void paintComponent(Graphics g) {
		try {
			ImageIcon img = new ImageIcon(getRes("cn/xcu/img/bgg.jpg"));
			g.drawImage(img, 0, 0, 500, 400, null);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}*/

	/**
	 * 小图片填充做背景
	 */
	protected void paintComponent(Graphics g) {
		super.paintComponent(g);
		setOpaque(true);
		Dimension d = getSize();
		for (int x = 0; x < d.width; x += img.getIconWidth()){
			for (int y = 0; y < d.height; y += img.getIconHeight()){
				g.drawImage(img.getImage(), x, y, null, null);
			}
		}
	}
	
	/**
	 * 自测试
	 * @param args
	 */
	public static void main(String[] args) {
		JFrame jf = new JFrame("有背景的panel");
		jf.setSize(500, 400);
		jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		jf.add(new JPanelXcu());
		jf.setVisible(true);
	}
}
 
0
2
分享到:
评论

相关推荐

    Swing控件(JPanel,Container等)设置背景图片

    这篇博文主要讨论了如何在JPanel和Container上设置背景图片,下面将详细解释这个过程。 首先,我们需要了解JPanel和Container的基本概念。JPanel是Swing中的一个轻量级组件,它是Container类的一个子类,主要用于...

    可插入背景图片的JPanel

    标题“可插入背景图片的JPanel”指向的就是一个解决此类问题的技巧。Java的标准库并未提供直接在`JPanel`上设置背景图片的方法,但是通过自定义`JPanel`并重绘组件,我们可以实现这个功能。描述中提到的解决方案可能...

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

    有时候,我们可能希望为`JPanel`添加背景图片以提升视觉效果。本篇将通过两个小例子详细介绍如何在`JPanel`中设置背景图片。 ### 示例1:动态加载背景图片 在第一个例子中,我们创建了一个名为 `ImagePanel` 的类...

    Java程序添加漂亮背景图片的方法

    通过使用 Java 的图形用户界面(GUI)组件,例如 JFrame、JPanel、JLabel 等,可以轻松地将背景图片添加到 GUI 界面中。本文将详细介绍如何使用 Java 添加背景图片到 GUI 界面中。 首先,需要导入相关的包,包括 ...

    Jframe添加背景图片

    1. **通过覆盖`paintComponent`方法**:这是最常见的方法,通过在自定义的`JPanel`中覆盖`paintComponent`方法,绘制背景图片。 2. **使用`ImageIcon`和`JLabel`**:另一种方法是创建一个与`JFrame`大小相同的`...

    如何给面板或窗体添加背景图片

    要给JFrame添加背景图片,我们通常会利用JPanel,因为JFrame本身默认是透明的,无法直接设置背景图片。以下是一个基本的步骤: 1. **加载图片**: 使用Java的`javax.imageio.ImageIO`类来读取图片文件,例如JPG、...

    通过 PanelUI 实现 Swing JPanel 的渐进色背景和图片背景

    JPanel 渐进色背景,和图片背景(可叠加)的实现代码,以及使用样例。 jar文件中包含源代码,本身可执行以便于看效果。

    JAVA GUI自定义JPanel画板背景

    在默认情况下,JPanel有一个简单的背景色,但通常我们需要更个性化的设计,比如设置自定义的图片背景。为了实现这个目标,我们需要重写JPanel的`paintComponent()`方法。在重写过程中,我们可以利用Graphics对象来...

    java设置背景图片源代码

    当你运行这个程序时,你会看到一个带有指定背景图片的新窗口。 在实际项目中,你可能需要处理各种情况,比如图片加载失败、图片尺寸不适合窗口大小等。你还可以使用布局管理器来调整组件的排列方式,或者添加额外...

    带图片背景的面板

    public class Mycanvas extends JPanel{ private Toolkit tool; private Image myimage; public Mycanvas(){ setPreferredSize(new Dimension(800,600)); tool=getToolkit(); myimage=tool.getImage(&quot;炼铁/...

    Java Swing实现窗体添加背景图片的2种方法详解

    由于是在JPanel的绘制阶段处理,所以不会影响到布局管理器的功能,可以支持窗体大小变化时的背景图片缩放。 以下是一个完整的示例,展示了如何在JFrame中使用这两种方法: ```java public class ImageFrame ...

    java实现背景图

    `BackGround.java`展示了如何在Swing环境中实现这一功能,而`BackGround.jar`则是该功能的可执行版本,`Mac.jpg`是实际使用的背景图片。通过理解这些文件的用途,开发者可以轻松地自定义自己的Java GUI程序的背景。

    java登录界面背景图片的添加.pdf

    使用 `new ImageIcon("./shuxiang.jpg")` 语句来加载背景图片,然后将其设置为 `JPanel` 的背景。使用 `JLabel` 对象来显示背景图片,并将其添加到 `JPanel` 中。 此外,我们还使用了事件监听器来处理按钮的点击...

    Java程序添加漂亮背景图片的方法.pdf

    在本例中,我们使用了 JFrame、JPanel、JLabel 和 JButton 等组件来创建一个带有背景图片的图形用户界面。 2. 图像处理:在 Java 中,可以使用 ImageIcon 类来加载和处理图像。ImageIcon 类提供了一些有用的方法,...

    用java JFrame,JPanel写的大鱼吃小鱼小游戏

    4. 资源文件:可能包含图片、音频或其他游戏资源。 5. 其他辅助类:如键盘监听器、定时器等,用于实现游戏的实时响应。 总的来说,这个“大鱼吃小鱼”游戏通过Java的Swing库,利用JFrame和JPanel组件,结合AWT的...

    Java:俄罗斯方块JPanel版

    5. **图片资源**: 项目中可能包含了方块和背景的图片资源,这些可以通过Java的ImageIcon类加载,并在JPanel上显示。`ImageIO`类可用于从文件中读取图像数据。 6. **多线程**: 为了使游戏流畅运行,游戏循环通常在...

    JAVA如何在为窗口设置背景图片.doc

    例如,在这个示例程序中,我们将背景图片添加到一个 `JPanel` 中,并设置其大小和位置以便填充整个窗口。 知识点5: 使内容窗格透明 在 Java 中,使内容窗格透明需要使用 `setOpaque(false)` 方法。例如,在这个...

    二十Java图形化界面设计中间容器Jpanel.pdf

    例如,可以使用 setBackground() 方法设置 JPanel 的背景色,使用 setSize() 方法设置 JPanel 的大小。 例如,在窗体中添加一个蓝色的面板: ```java JPanel p = new JPanel(); p.setBackground(Color.BLUE); p.set...

    java用图片作为窗口的背景

    本文将详细讲解如何实现这一功能,并提供一个具体的实例代码——ImageTest.java,以及它所使用的背景图片1.JPG。 首先,我们要了解Java中的Swing库,它是用于构建GUI应用的主要工具。Swing提供了丰富的组件,如...

    JAVA GUI 开发---登录界面加载背景图片

    本文将深入探讨如何在Java图形用户界面(GUI)中加载背景图片,使登录界面更加生动和专业。 首先,我们需要了解Java的Swing库,它是Java GUI开发的主要工具。Swing提供了丰富的组件,如JFrame、JLabel、JButton等,...

Global site tag (gtag.js) - Google Analytics