[問答題] 下面是一個Applet程序,其功能是將完整的圖像顯示于Applet的區(qū)塊中,然后可以通過拖動鼠標(biāo)讓圖像隨著鼠標(biāo)拖動的軌跡而移動。請改正程序中的錯誤(
[問答題] 下面是一個Applet程序,其功能是將完整的圖像顯示于Applet的區(qū)塊中,然后可以通過拖動鼠標(biāo)讓圖像隨著鼠標(biāo)拖動的軌跡而移動。請改正程序中的錯誤(有下劃線的語句),使程序能輸出正確的結(jié)果。注意:不改動程序的結(jié)構(gòu),不得增行或刪行。
源程序文件代碼清單如下:
import java.applet.*;
import java.awt.*;
/*
<applet code="ex7_3.class" width=800 height=400 >
</applet>
*/
public class ex7_3 extends Applet
private Image iImg;
private int xPos,yPos;
public void init()
xPos = yPos = 0;iImg = getImage("ex7_3.jpg");
public void paint(Graphics g)g.drawImage(iImg,xPos,yPos);public boolean mouseDrag(Event e,int x, int y)xPos = x;yPos = y;
paint();
return true;
ex7_3.html
<HTML>
<HEAD>
<TITLE>ex7_3</TITLE>
</HEAD>
iImg=getImage(getDocumentBase(),"ex7_3.jpg") g.drawImaSe(iImg,xPOs,yPOs,this) repaint()
參考解析:本題主要考查在Applet窗口中顯示圖像,并結(jié)合鼠標(biāo)事件處理的綜合應(yīng)用。解題關(guān)鍵是熟悉圖像文件的加載過程;會跟蹤鼠標(biāo)拖動的事件,并將鼠標(biāo)在Applet窗口中的坐標(biāo)信息作為參數(shù)傳遞給 drawImage()方法,用于在新的位置顯示圖像,從而實現(xiàn)拖動效果。本題中,第一處,getImaSe()方法應(yīng)該有2個參數(shù),第一個參數(shù)是SetDocumentBase()方法的返回值,即圖像文件的路徑;第二處,drawImage()方法最后一個參數(shù)應(yīng)該是this,確定是在當(dāng)前運行的對象中繪制圖像;第三處,應(yīng)該調(diào)用repaint()方法,進行重畫,而不是paint()方法。程序運行結(jié)果如下: [*]
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。