采用JAVA组件显示本地图片
程序设计中经常会碰到用组件来显示图片的情况, 可以显示图片的组件有很多,如awt包中的button,label,panel等都可以在其上面放置图片.图片又可分为两类,一类是放置于button等组件上的ImageIcon(图标),另一类是可以放置在panel等组件上的较大的图片Image。
从本地计算机中读取图片的方法也有很多,比如,利用ImageIcon来读取本地图片,还可以把读取到的ImageIcon转换为Image。还有一种获取Image的方法是利用Toolkit类。我个人较喜欢第二种方法,Toolkit.getDefaultToolkit().createImage("图片名");因为Toolkit类是直接与本地操作系统相联系的一个类,获取到的图片会更真实,更直接。
想要用JPanel来显示获取到的图片就需要重写JPanel类的paint(Graphics g)方法,可以重写一个类来extends Jpanel类,也可以在定义Jpanel类的实例时采用匿名类的写法来重载paint()方法。
示例一:
classImagePanel extends JPanel{
Image image=Toolkit.getDefaultToolkit().createImage("test.jpg");
public void paint(Graphics g) {
g.drawImage(image,0,0,image.getWidth(null),image.getHeight(null),null);
}
}
示例二:
Image image=Toolkit.getDefaultToolkit().createImage("test.jpg");
JPanel panel=new JPanel(){
public void paint(Graphics g){
g.drawImage(image,0,0,imagegetWidth(null),image.getHeight(null),null);
}
};
相关文档:
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......
类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来分析的文章更是鲜有所见。
本文主要对类和对象初始化全过程进行分析,通过一个实际问题引入,将源代码转换成 JVM 字节码后, ......
72、EJB的角色和三个对象
一个完整的基于EJB的分布式计算结构由六个角色组成,这六个角色可以由不同的开发商提供,每个角色所作的工作必须遵循Sun公司提供的EJB规范,以保证彼此之间的兼容性。这六个角色分别是EJB组件开发者(Enterprise Bean Provider)、应用组合者(Application Assembler)、部署者(Deployer)、EJ ......
用了这个,MyEclipse里就不会报那些警告了,看起来漂亮多了
常用的:
@SuppressWarnings("unchecked"),泛型
@SuppressWarnings("deprecation"), deprecated方法
@SuppressWarnings(value={"deprecation","unchecked"}) 双选
@SuppressWarnings("serial"), 序列化
......