摘 要: Applet程序是采用Java創建的基于HTML的程序,具有多媒體支持功能,但對初學者來說有一定的難度。本文從采用多媒體和實例化教學,加強對原理的理解和培養學生興趣及動手能力等方面介紹本節內容的學習,以供參考。
關鍵詞: Java Applet 多媒體功能 教學方法
1.引言
Java語言是由SUN公司推出的全新的純面向對象的程序設計語言,它是一種與平臺無關的、安全的、解釋型的語言,為Web提供了簡單而功能強大的API接口和動態內容的交互技術。根據結構組成和運行環境的不同,Java程序可以分成Java Application程序和Java Applet程序。在Java Applet中,可以實現圖形繪制、字體和顏色控制、動畫和聲音的播放等多媒體效果,美化了HTML頁面,增強了瀏覽者的視覺效果。但是這些功能的實現有著較復雜的技術背景,對初學者來說,存在著一定的難度,如何激發學生的學習興趣,讓學生迎難而上,并且能夠快速地掌握這些內容,成為了教師關注的焦點。我結合自己的教學實踐,提出了以下幾點看法,以供參考。
2.課堂教學
2.1展示教學案例,激發學生學習興趣。
任何時候,一個新的內容都會引起學生強烈的好奇心和求知欲,在學習之前,學生往往表現得情緒高漲。教師就要牢牢抓住這個關鍵時刻,充分調動學生的積極性,最大限度地激發學生的學習興趣。興趣是最好的老師,能夠激發學生學習的潛能,特別是在面對這種有些難度的教學內容時,我們更應該能夠敢于拋開一般的程序設計的常規教學模式,先給學生展示一個完整的、能引起共識的、很貼近大家生活的教學案例,通過展示,讓大家提前體會到這將是有趣又富有挑戰性的一堂課。在教學中,我給大家展示了簡易的MTV動畫,美麗的圖片伴隨著輕柔的音樂一張張地展示在學生面前。學生對案例內容特別熟悉,但是對于通過Applet程序來實現又很陌生。這就激發了學生的學習興趣,眼睛里充滿了期待,為后面的教學的順利實施奠定了基礎。
2.2循序漸進,講解動畫工作原理。
接下來的教學是借助多媒體課件為學生講解動畫工作原理,而不是手把手地交給學生制作步驟,只有掌握了工作原理,對后面學生自己動手實踐和代碼編寫才能提供依據和理論指導。Java中實現動畫的基本原理和諸如Flash等的動畫技術沒有本質的不同,都是通過播放一系列的幀,利用人眼的視覺暫停來造成了運動的感覺,動畫中動作的平滑度越好,動畫的質量就越好。概括地講,每秒鐘播放的幀數越多,其平滑度就越好,形成的動畫也就越逼真,Applet中實現的動畫效果就跟動畫的播放速度有關系。
2.3解析課前展示的實例,講解動畫制作方法。
在了解了動畫工作原理后,自然而然地就過渡到了制作方法的講解上,課前實例可以分成兩個部分,一個是圖片動畫的制作,一個是音樂文件的播放制作。
2.3.1圖片動畫的制作實例。
第一步,將要展示的圖片建立好圖片序列,本例中準備了24張風景圖片,圖片文件名規律的命名為:pic0.jpg、pic1.jpg、pic2.jpg......pic23.jpg,并將它們全部放置在Applet應用程序目錄下的images文件夾中,為了處理的方便,使用數組來存放這些Image對象。在Applet程序的初始化中,添加如下代碼:
Image pic=new Image[24];
public void init()
{
int i;
for(i=0;i<pic.length;i++)
pic[i]=getImage(getDocumentBase(),“images/pic”+i+“.jpg”);
}
第二步,講解如何在程序中顯示這些圖片。在Applet程序顯示圖片的方法很多,我們可以使用Graphics類的drawImage()方法實現,代碼引用如下:
public void paint(Graphics g)
{
g.drawImage(pic[j],0,0,this);//顯示圖片
j++;
if(j>23)
j=0;//通過變量j控制圖片的循環顯示
}
第三步,在需要顯示的內容和顯示方法確定好了之后,接下來的講解就是圖片播放速度的控制問題了,這可以通過Java的多線程功能來實現,專門建立一個線程來負責整個的放映過程,而主線程負責所有的繪圖和事件處理。線程控制播放速度功能代碼如下:
Thread animator;
int delaytime=100;//設置線程睡眠時間,本例中指兩張圖片顯示的時間間隔
public void start()
{
animator=new Thread(this);//創建線程
animator.start();//啟動線程
}
public void run()
{while(animator!=null)
{repaint();
try
{Thread.sleep(delaytime);//線程睡眠
}
catch(Exception e)
{break;
}
}
}
public void stop()
{animator.stop();//停止線程
animator=null;
}
第四步,將上面講解的這些代碼組合在一起,便實現了圖片動畫的播放。這樣一個講解過程,讓學生理清了Applet動畫的程序設計步驟,并且化繁為簡,各個突破,分步驟實現,也降低了這些內容的難度,符合學生的認知要求。
2.3.2音樂文件的播放制作實例。
音樂文件的播放是通過Java的Applet包中的AudioClip對象實現的,Java Applet默認支持的聲音文件格式是AU、AIFF、WAV、MIDI,我們通過Applet類的getAudioClip(URL)方法獲得AudioClip對象。
第一步,通過初始化方法獲得要播放的聲音文件,根據上面的分析,可寫出下面的代碼:
public void init()
{try
{audioClip=this.getAudioClip(getCodeBase(),“sound.wav”);
}
catch(Exception e){}
}
第二步,設置“播放”、“循環播放”、“停止”按鈕,并將其加入到Applet面板中。
第三步,編寫按鈕的actionPerformed(ActionEvent actionEvent)方法,代碼如下:
public void actionPerformed(ActionEvent actionEvent)
{
String btn=actionEvent.getActionCommand();
if(btn.equals(“play”))
{audioClip.play();}//播放音樂
if(btn.equals(“loop”))
{audioClip.loop();}//播放音樂
if(btn.equals(“stop”))
{audioClip.stop();}//播放音樂
}
第四步,將以上的分析代碼組合,就可以得到音樂播放文件的程序。
2.3.3積極發揮學生主動作用,增加學生實踐能力。
經過了以上步驟,就完成了多媒體動畫與聲音文件的播放功能的實現,接下來的工作就是要發揮學生的主觀能動性,讓學生自己動手,完成全部代碼的編寫,并將兩個程序合二為一,實現課前展示的多媒體動畫效果。
3.結語
在教學過程中,以“程序設計”為主線,以培養學生的程序設計的思想和學生的動手實踐能力為目標,充分利用各種教學資源,并靈活地運用各種教學方法進行課堂教學,激發學生的學習興趣,提高學生學習的積極性和主動性,將難度較大的學習內容進行分割,化繁為簡,緩減學生的學習壓力。實踐證明,這些教學思想和教學方法在實際教學中頗有成效。
參考文獻:
[1]王衛生主編.Java程序設計與實訓教程.北京理工大學出版社,2007.
[2][美]Eric Armstrong.Jbuilder 2使用大全[M].奇舒創作室譯,1999.
[3]李明才主編.Java語言程序設計案例教程.中國水利水電出版社,2010.