教育路上

全国站>Java>Java基础>java的JPanel增加图形背景paint
发布需求
填写需求信息关闭
我们会根据您的需求匹配

姓      名:

意向城市:

留      言:

手机号码:

验  证  码:  

确认提交

java的JPanel增加图形背景paint

摘要:java的JPanel增加图形背景paint,paintComponent方法的重写,new ImageIcon(reguser.class.getResource(\\\\\\\\\\\\\\\"background.jpg得到图片路径。以下是我们为大家整理的,相信大家阅读完后肯定有了自己的选择吧。

2022-06-23 14:13网络推荐

发布时间:
2022-06-23 14:13
信息来源:
网络推荐
浏览次数:
542
java的JPanel增加图形背景paint

from shengerguan 
import javax.swing.*;
import java.awt.*;

//创建一个类继承画板类
class MyJPanel extends JPanel {
	// 构造方法初始化背景图片
	private Image image;

	public MyJPanel(Image image) {
		this.image = image;
	}

	// 重写paintComponent方法
	@Override
	public void paintComponent(Graphics g) {
		// 调用父类paintComponent方法绘制其他组件
		super.paintComponent(g);
		// 绘制背景图片,大小为窗体大小
		g.drawImage(image, 0, 0, getWidth(), getHeight(), null);
	}
}

//测试类
public class Demo1 {
	// 创建窗体
	private JFrame myJFrame = new JFrame("有背景图片");

	public Demo1() {
		// 获取图片
		Image im = new ImageIcon("tank.jpg").getImage();
		// 设置窗体大小
		myJFrame.setSize(889, 500);
		// 获取设置背景后的面板
		MyJPanel myJPanel = new MyJPanel(im);
		// 添加按钮测试
		JButton hello1 = new JButton("hello1");
		JButton hello = new JButton("hello");
		myJPanel.add(hello);
		myJPanel.add(hello1);

		// 获取一个图片
		ImageIcon pic = new ImageIcon("tank.jpg");
		// 设置图片的大小
		pic.setImage(pic.getImage().getScaledInstance(20, 20, 0));
		// 把图片放到按钮上
		hello1.setIcon(pic);
		hello1.setOpaque(false);
		// 去掉背景点击效果
		hello1.setContentAreaFilled(false);
		// 去掉聚焦线
		hello1.setFocusPainted(false);
		// 去掉边框
		// hello1.setBorder(null);

		myJFrame.add(myJPanel);
		myJFrame.setLocationRelativeTo(null);
		myJFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		myJFrame.setVisible(true);
	}

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

上一篇:
java图形gui界面的创建
下一篇:
java菜单的操作JMenuBar
标签:教育 幼儿园