一張湘繡匯集了湘女累月的心血,我們稱之為勞動密集型,一塊芯片集聚著眾多高新的科技,我們稱之為技術密集型,一個實例承載了豐富的知識點,是否可以稱為知識密集型呢:)?用一張網撈到更多的魚是漁夫的追求,通過一個實例學到更多的知識點則是我們這些開發人員的企盼。
本文擬通過一個耳熟能詳的指法練習游戲講解如何在JBuilder 2005下開發Applet應用程序,通過本文,你將可以學習到圖形用戶界面開發、動畫處理、聲音播放、事件處理、多線程、I/O讀寫、Applet打包、Applet安全模型、數字簽名、JRE插件制作、JDK5.0等方面的知識,並適時介紹筆者一些開發經驗。
閱讀導航:
指法練習Applet游戲介紹 我首先介紹一下這個游戲的界面,這個Applet共由11個組件組成,左邊的主界面是畫布Canvas組件,被分隔為10個欄。程序會隨機在這些欄中產生下落的字母,用戶按下匹配的字母鍵盤按鍵後,即為擊中。
程序框架 打開JBuilder2005,創建一個工程(File->New...->Project->雙擊Project頁中的Project圖標),我們將工程名取為game,然後利用下面的步驟,調用Applet向導生成TypeTrainApplet。
主體程序 游戲界面中每一個下落的字母對應一個字母下落線程DropCharThread的實例,這個線程負責將一個隨機的字母在指定的畫布欄中從上至下落下。在TypeTrainApplet內部定義這個線程類,之所以要將其作為成員內部類來定義,是因為這樣可以減少類和類之間的通信,降低調用接口的復雜度。
控制游戲 至此,我們已經完成了Applet主要功能的開發,剩下的工作是如何通過按鈕控制游戲。在編寫控制代碼之前,先為開始/暫停按鈕(jButton1)和停止按鈕(jButton2) 裝飾一下,再編寫控制代碼。
打包並進行數字簽名 浏覽器對Applet的數字簽名支持並沒有一個統一的標准,但是一些聞名的浏覽器如IE和Navigator對進行數字簽名的Applet都可以開放大部分的權限。要對Applet進行數據簽名必須先將Applet類和資源打成一個JAR包。
使用插件下載JRE 假如客戶端游覽器還未安裝JRE或已安裝的JRE版本低於你Applet的要求,或浏覽器自帶的JRE不是Sun公司標准的Applet,你Applet都可能無法正常運行。可以通過JDK自帶的HtmlConverter.exe工具對帶Applet的HTML文件進行轉換。
總結