- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java自定义背景容器JImagePanel
这个不是自己原创的,好像是csdn上下载来的,觉得挺好用的就打算分享一下,该类继承了Jpanel主要实现自定义容器允许添加背景图片的功能。
JImagePanel.java类
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.JPanel;
@SuppressWarnings(serial)
public class JImagePanel extends JPanel {
/**
* 背景图片
*/
private Image image = null;
/**
* 是否自适应
*/
private boolean autoResize = false;
/**
* 构造方法
*/
public JImagePanel() { this(null, false); }
/**
* 构造方法
* @param autoResize - 图形是否根据面大大小自适应
*/
public JImagePanel(boolean autoResize) {
this(null, autoResize); }
/**
* 构造方法
* @param image - 图片
*/
public JImagePanel(Image image) { this(image, false); }
/**
* 构造方法
* @param image - 图片
* @param autoResize - 是否自适应
*/
public JImagePanel(Image image, boolean autoResize) {
super();
this.autoResize = autoResize;
this.image = image;
repaint(); }
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
if (image != null) {
if (autoResize) {
g.drawImage(image, 0, 0, getWidth(), getHeight(), null);
} else {
g.drawImage(image, 0, 0, null); }
}
}
/**
* 返回背景图片
* @return
*/
public Image getImage() {return image; }
/**
* 设置背景图片
* @param image - 背景图片
*/
public void setImage(Image image) {
this.image = image;
repaint(); }
/**
* 返回图片是否自适应
* @return
*/
public boolean isAutoResize() { return autoResize; }
/**
* 设置图片是否自适应
* @param autoResize
*/
public void setAutoResize(boolean autoResize) {
this.autoResize = autoResize;
repaint(); }
}
测试类:
import java.awt.Container;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
public class Test extends JFrame {
public JImagePanel mainJImagePane = new JImagePanel(true);
/**
* @param args
*/
public Test() {
mainJImagePane.setLayout(null);
try {
mainJImagePane.setImage(ImageIO
.read(new File(src/Image/main.jpg)));//自己修改路径
} catch (IOE
您可能关注的文档
- 如何制作淘宝网店的分类导航?.pptx
- 网页制作期末笔试考试卷.doc
- HTML与Javascript简单基础.ppt
- In a short essay - 副本.doc
- IP$入侵常见的问题.doc
- 网页期末笔试考试卷1.doc
- 网页期末笔试考试卷.doc
- 案卷标题B类正面标签.doc
- 应用文写作在线作业二.doc
- d04-树与二叉树.ppt
- 《汇率波动与我国外贸企业财务风险防范体系的构建与实践》教学研究课题报告.docx
- 8 《旅行社线上线下融合模式下的旅游产业链协同创新与竞争优势研究》教学研究课题报告.docx
- (最新)传染病及突发公共卫生事件报告和管理试题(+答案).docx
- 夏天到小班教案优质7篇.docx
- (最新)国家义务教育质量监测心理健康测考试试题练习题(附答案)解析.docx
- 2025陕西陕煤电力集团有限公司招聘24人笔试备考题库及一套答案详解.docx
- (最新)村级后备干部考试参考试题(+答案).docx
- 2025陕西陕煤电力集团有限公司招聘24人笔试备考题库及参考答案详解1套.docx
- 生成式AI在小学英语口语教学中个性化教学策略探讨教学研究课题报告.docx
- 基于数字素养培养的初中英语与语文学科融合的教学策略研究教学研究课题报告.docx
文档评论(0)