`
caleb_520
  • 浏览: 247027 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

JFrame中加载图片

阅读更多
为一个JFrame窗口中加载一个背景图,有两种方法
(1)生成一个JLabel标签,然后利用JLabel(Icon image)这个构造方法就可以加载图片
(2)生成一个JPanel面板,然后在面板中加载背景图

上面两种方法, 第二种具有比较好的扩展性。因为,如果利用JLabel加载背景图,那么扩展性上比较差,且在JLabel上不能干其他事情,比如:在放置一个JButton,整个布局背景图就错乱。

现在,我对通过在JPanel上加载一个图片进行叙述一下:

第一:在创建一个JPanel面板,加载背景图需要重写
public void paintComponent(Graphics g)


重写代码如下:
class ImagePanel extends JPanel {
	public ImagePanel() {
		super(new BorderLayout()); //重写面板布局方式
	}

	public void paintComponent(Graphics g) {
		super.paintComponent(g);
		ImageIcon img = new ImageIcon("C:\\http_imgload.jpg"); //调用ImageIcon加载图片
		img.paintIcon(this, g, 0, 0); //在ImagePanel进行画图,且从坐标原点开始x=0;y=0
	}
}


第二:在JFrame中加载面板
public class ImagePanelJFrame extends JFrame {
	public ImagePanelJFrame() {
		init();
	}
	
	public void init() {
		setSize(800,600);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		ImagePanel imagePanel = new ImagePanel();
		imagePanel.setOpaque(true); //设置imagePanel组件是透明的
		imagePanel.setBackground(Color.white); //设置面板的背景色
		
		this.getContentPane().add(imagePanel);
		this.setVisible(true);
	}
	
	public static void main(String[] args) {
		ImagePanelJFrame f = new ImagePanelJFrame();
	}
	
}


通过上面简单描述,我们就完成为JFrame中加载图片,整个程序运行的效果如下图


整个程序源码,可以下载附件
  • 大小: 51.4 KB
1
2
分享到:
评论
1 楼 菜刀闯天下 2011-12-23  
楼主:label可以添加控件啊    我觉得你这样处理把背景这样处理(  imagePanel.setOpaque(true); //设置imagePanel组件是透明的),那么在imagePanel上添加的空件能够看到么?   岂不是还要添加jpanel?   仅代表个人看法

相关推荐

    JAVA界面设计——Applet和JFrame图片加载篇

    NULL 博文链接:https://1406832037-qq-com.iteye.com/blog/1000426

    Netbeans java GUI 背景图片加载图文攻略

    这是Netbeans为jframe加载背景图片的办法,尽管看起来很简单。但在我不会之前,怎么都搞不到一起。会了之后,原来一行代码也不用写,就可以生成了 该资源:图文步骤俱全,绝对可以看明白。欢迎留言

    Java在窗口上加载显示GIF动画图像.rar

    Java在窗口上加载显示GIF动画图像,将多个独立的GIF图像串联在一起显示,形成GIF特有的动画形式。主要代码如下:  ImageIcon[] images; //用于动画的图标数组  Timer animationTimer;  int currentImage = 0;...

    图片浏览器

    用JAVA写的图片浏览器,涉及到如何使用JAVA中的JFrame类、JPanel类、JLabel类、JButton类、线程等等JAVA基本类的运用,发及图片的显示、图片的自动播放、图片的选择、以及所看图片的跟踪等等

    Java使用组件编写窗口实现网络图片显示

    主要为大家详细介绍了Java使用组件编写窗口实现网络图片显示的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    Java拼图游戏面向对象课程设计报告.doc

    " "//加载图片容器,定义可以显式定位子元素使用坐标是相对 Canvas " "区域的区域,绘制图形 " "private Graphics gs; //gs画出Canvas图片坐标 " "private Graphics gb; //gb画出buff图像 " "private boolean is...

    这个程序使用 Java 的 Swing 组件库,进行JAVA对对碰游戏开发

    程序中使用了 Timer 定时器来控制游戏时间和更新棋盘,使用了 ImageIcon 类来加载图片资源,同时还实现了根据坐标获取对应的按钮等相关方法。希望能够对你有所帮助! 对对碰是一款非常经典和受欢迎的小游戏,玩法...

    Java信息提示窗口的实现

    实现方法:大多数的信息窗口是没有标题栏的,因此信息窗口不能由继承JFrame 类来实现,一种简单的做法是通过继承JWindow 来实现(当然继承Window 类也可以,但一个原则是尽量使用swing 中的界面类)。  在加载图...

    使用JAVA进行 连连看游戏开发

    这个程序使用 Java 的 Swing 组件库,通过继承 JFrame 和 JPanel 类实现...程序中使用了 Timer 定时器来控制游戏时间和更新棋盘,使用了 ImageIcon 类来加载图片资源,同时还实现了根据坐标获取对应的按钮等相关方法。

    Java在窗口上实现信息提示.rar

    Java在窗口上实现信息提示。在加载图信息窗口上的图片时,用到java.awt 包中的MediaTracker 类。大多数的信息窗口是没有标题栏的,因此信息窗口不能由继承JFrame 类来实现。

    java安卓仿微信聊天软件源码-Note:有用的网址总结

    完全仿微信的图片选择,并且提供了多种图片加载接口,选择图片后可以旋转,可以裁剪成矩形或圆形,可以配置各种其他的参数 类似QQ空间,微信朋友圈,微博主页等,展示图片的九宫格控件 类似淘宝的商品详情页,继续...

    OpencvForJava1.8.7z

    针对Java平台测试的Opencv算法实例。该实例中包含Opencv的Imshow的扩展。 实现和测试了图片的加载和保存,图像的灰度处理 、通道分离、二值化处理、边缘提取、膨胀、腐蚀等形态学操作。

    java键盘游戏源码-CrazyArcade:CrazyArcade泡泡堂游戏-JAVA实现

    frame:包含如开始、游戏中、结束的JFrame main:包含程序入口和其它游戏控制 model: model.loader:包含资源加载器用于读取配置文件等信息,使用了单例设计模式 model.manager:包含元素管理器、工厂等,用于控制...

    Java范例开发大全 (源程序)

     实例167 继承关系的加载顺序 266  实例168 如何访问同名的方法或变量 268  实例169 super()方法的使用 271  实例170 this方法的使用 274  实例171 一张考试成绩单 275  实例172 银行自动存取一体机 278 ...

    java范例开发大全(pdf&源码)

    实例167 继承关系的加载顺序 266 实例168 如何访问同名的方法或变量 268 实例169 super()方法的使用 271 实例170 this方法的使用 274 实例171 一张考试成绩单 275 实例172 银行自动存取一体机 278 9.4 多态 284 实例...

    java范例开发大全源代码

     实例167 继承关系的加载顺序 266  实例168 如何访问同名的方法或变量 268  实例169 super()方法的使用 271  实例170 this方法的使用 274  实例171 一张考试成绩单 275  实例172 银行自动存取一体机...

    java范例开发大全

    实例167 继承关系的加载顺序 266 实例168 如何访问同名的方法或变量 268 实例169 super()方法的使用 271 实例170 this方法的使用 274 实例171 一张考试成绩单 275 实例172 银行自动存取一体机 278 9.4 多态 284 实例...

    Java范例开发大全(全书源程序)

    实例167 继承关系的加载顺序 266 实例168 如何访问同名的方法或变量 268 实例169 super()方法的使用 271 实例170 this方法的使用 274 实例171 一张考试成绩单 275 实例172 银行自动存取一体机 278 9.4 多态 ...

    javaSE代码实例

    10.6 Java程序的加载过程 190 10.7 小结 192 第三篇 高级基础篇 第11章 异常处理——Java世界的医生 195 11.1 异常处理的基本知识 195 11.1.1 try和catch捕获异常 195 11.1.2 异常的传播过程 198 ...

Global site tag (gtag.js) - Google Analytics