采用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);
}
};
相关文档:
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
123、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。
public class ThreadTest1{
private int j;
public static void main(String args[]){
ThreadTest1 tt=new ThreadTest1();
Inc inc=tt. ......
为了说明这个问题先给大家出个问题吧:
请看代码:
public abstract class A {
public A() {
initMethod();
}
public abstract void initMethod();
}
public class B extends A {
static String staticStr = "static1";
private String testStr = "Test1";
/*
* (non-Javadoc)
*
* @see A#in ......
public class Factory {
private static Factory factory;
private static Object classLock=Factory.class;
private Factory(){}
public static Factory getFactory(){
synchronized(classLock){
......