[JAVA]①重绘JPanel面板,设置窗体背景图片

由于在网上查询的方法众多,而且方法有的地方复杂化,其实不用特别复杂编写代码,只要关键点的地方写对了,就可以运行。

此写法本人整理了网上思路编写,简单明了~~~!

/**
 * 自定义背景图片,重绘JPanel面板的paintComponent(Graphics g)类
 */
class BackgroundPanel extends JPanel {

	private static final long serialVersionUID = 1L;
	String name = "01.JPG"; // 将图片放在class类的同级文件夹里

	protected void paintComponent(Graphics g) { //关键代码:重写绘制组件外观
		super.paintComponent(g);
		ImageIcon image = new ImageIcon(getClass().getResource(name)); // 获取图片路径
		g.drawImage(image.getImage(), 0, 0, 350, 350, null);// 绘制图片与组件大小相同
	}
}

public class BackgroundPanelClass extends JFrame {
	private static final long serialVersionUID = 1L;
	JPanel contentPan; // 放背景面板的面板

	public BackgroundPanelClass() {
		this.setTitle("自定义背景图片");
		this.setVisible(true);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setBounds(400, 250, 350, 350);

		contentPan = new JPanel();
		contentPan.setLayout(new BorderLayout(0, 0));// 设置边界布局
		BackgroundPanel backgroundPanel = new BackgroundPanel(); // 创建背景面板
		contentPan.add(backgroundPanel);// 添加背景面板

		this.setContentPane(contentPan);

	}

	public static void main(String[] args) {
		new BackgroundPanelClass();
	}

}


效果图:

一张养眼的背景面板就被添加进去啦~如果要在背景面板上添加组件,要在BackgroundPanel类里写入构造方法进行添加。

图片存放路径:

需要放在类同级文件夹下面

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wainiyitao2010/article/details/77865867
文章标签: java string JPanel
个人分类: JPanel
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭