全国
Java--教育路上

栏目导航

全国站 > Java > 图形界面
需求

java的JPanel增加图形背景paint

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

标签:
发布时间:
2024-04-25 23:39
信息来源:
网络推荐
浏览次数:
1260
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
相关推荐
最近更新
学校免费发布信息关闭
如有图片请发邮件到:edu63@foxmail.com,审核后显示

 换一张

确认提交
完善补充本文信息关闭
非常感谢您帮助完善补充本文信息


 换一张

确认提交