




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 java程序設(shè)計 課程設(shè)計(論文)題目: 多媒體播放器 院(系): * 專業(yè)班級: * 學 號: * 學生姓名: * 程序設(shè)計專題(報告)任務(wù)及評語院(系):電信學院 教研室:101機房學 號: 學生姓名: 專業(yè)班級:軟件技術(shù)程序設(shè)計(報告)題目音樂播放器程序設(shè)計(報告)任務(wù)程序設(shè)計專題的任務(wù)與要求:(1) 掌握java編程、面向?qū)ο蟮幕A(chǔ)知識。(2)(3) 較熟練地編寫java應(yīng)用程序application。(4)(3)了解java的常用標準類庫、編程技巧、異常處理。(5) 聯(lián)系已學過的內(nèi)容,鞏固所學的理論,增強獨立工作能力。(6)(7) 通過設(shè)計主要使學生有一個獨立編寫程序的過程,對理論
2、學習及動手能力都有一個很大的提高。(8)(7)通過本次設(shè)計,進一步培養(yǎng)學生熱愛專業(yè)的思想,同時對本專業(yè)綜合素質(zhì)的提高起一個積極的推動作用。課程設(shè)計過程中,要嚴格遵守實踐環(huán)節(jié)的時間安排,聽從指導教師的指導。正確地完成上述內(nèi)容,記錄實習日記,規(guī)范完整地撰寫出課程設(shè)計報告。x x 工 業(yè) 大 學 課 程 設(shè) 計 說 明 書(論 文)目 錄第1章 課程設(shè)計的目的與要求11.1 課程設(shè)計目的11.2 課程設(shè)計的實驗環(huán)境11.3 課程設(shè)計的預備知識11.4 課程設(shè)計要求1第2章 課程設(shè)計內(nèi)容22.1課程設(shè)計主要內(nèi)容22.2.1自定義類說明22.3詳細設(shè)計32.4測試分析122.4.1程序運行情況122.4
3、.2程序異常處理15第3章 課程設(shè)計總結(jié)16第1章 課程設(shè)計的目的與要求1.1 課程設(shè)計目的java程序設(shè)計是計算機相關(guān)專業(yè)的必修專業(yè)基礎(chǔ)課程,其實踐性、應(yīng)用性很強。實踐教學環(huán)節(jié)是必不可少的一個重要環(huán)節(jié)。本課程的程序設(shè)計專題實際是計算機相關(guān)專業(yè)學生學習完java程序設(shè)計課程后,進行的一次全面的綜合訓練,java程序設(shè)計的設(shè)計目的是加深對理論教學內(nèi)容的理解和掌握,使學生較系統(tǒng)地掌握程序設(shè)計及其在網(wǎng)絡(luò)開發(fā)中的廣泛應(yīng)用,基本方法及技巧,為學生綜合運用所學知識,利用軟件工程為基礎(chǔ)進行軟件開發(fā)、并在實踐應(yīng)用方面打下一定基礎(chǔ)。1.2 課程設(shè)計的實驗環(huán)境硬件要求能運行windows xp操作系統(tǒng)的微機系統(tǒng)。
4、java程序設(shè)計語言及相應(yīng)的集成開發(fā)環(huán)境,j2sdk和netbeans 6.7開發(fā)工具。1.3 課程設(shè)計的預備知識熟悉java語言及netbeans 6.7開發(fā)工具。1.4 課程設(shè)計要求按課程設(shè)計指導書提供的課題,要求學生在自行完成各個操作環(huán)節(jié),并能實現(xiàn)且達到舉一反三的目的,完成一個項目解決一類問題。要求學生能夠全面、深入理解和熟練掌握所學內(nèi)容,并能夠用其分析、設(shè)計和解答類似問題;對此能夠較好地理解和掌握,能夠進行簡單分析和判斷;能編寫出具有良好風格的程序;掌握java程序設(shè)計的基本技能和面向?qū)ο蟮母拍詈头椒ǎ涣私舛嗑€程、安全和網(wǎng)絡(luò)等編程技術(shù)。同時培養(yǎng)學生進行分析問題、解決問題的能力;培養(yǎng)學生
5、進行設(shè)計分析、設(shè)計方法、設(shè)計操作與測試、設(shè)計過程的觀察、理解和歸納能力的提高。第2章 課程設(shè)計內(nèi)容2.1課程設(shè)計主要內(nèi)容應(yīng)用netbeans 6.7軟件開發(fā)應(yīng)用程序:音樂播放器。在這個程序中定義了一些組件,工具欄按鈕,文本區(qū)和菜單。同時能夠進行事件處理,單擊“打開”按鈕時可以鏈接到音樂的存放處,便會出現(xiàn)所有的音樂信息,點擊哪一首便會播放出哪一首。音樂播放器程序設(shè)計通過main()方法和mediaframe主類來實現(xiàn)魔板游戲的整體功能。2.2.1自定義類說明* * 類名: musicplayer * 作用: 主類 * * 繼承的父類: jframe類 * * 實現(xiàn)的接口: actionliste
6、ner, controllerlistener,*主要方法說明: -musicplayer構(gòu)造方法,設(shè)置對象的數(shù)據(jù)成員,完成窗口(包括菜單)的設(shè)置等。setupmenu方法,用于構(gòu)造程序窗口的菜單,被mediaplayer調(diào)用。actionperformed方法監(jiān)聽來對象的菜單事件,根據(jù)相應(yīng)命令做出相應(yīng)的反映。controllerupdate方法用于處理jmf傳出的關(guān)于播放器的事件。要進行正常播放,必須利用這個方法捕捉合適的事件并調(diào)用player相應(yīng)的方法來實現(xiàn)。itemstatechanged方法監(jiān)聽來自本對象選擇菜單的事件并進行處理。成員變量見表1表1 成員變量成員變量描述變量類型名稱設(shè)置
7、窗體屬性classmusicplayer雙擊時處理voidmouseclicked關(guān)閉窗口voidwindowclosing播放文件audioplaydemo菜單jmenuitemmenuitem_exit, menuitem_infor對話框jdialogdialog,dialog1對話框按鈕jbuttonbutton_seek標簽jlabellabel_seek,label_infor文件名stringseek2.3詳細設(shè)計為了實現(xiàn)這個簡單的播放器,在該類的構(gòu)造函數(shù)中完成程序的基本操作:包括設(shè)置musicplayer對象設(shè)置、設(shè)置窗口關(guān)閉響應(yīng)函數(shù)、完成菜單的構(gòu)造,最后顯示程序窗口。在構(gòu)造菜
8、單時,必須為菜單命令指定處理這些菜單點擊事件的監(jiān)聽器。在創(chuàng)建player對象時,可以用addcontrollerlisterner()方法將一個controllerlisterner對象幫定到本player對象上,controller對象將向controllerlisterner對象發(fā)送事件消息。由于jmf類實現(xiàn)了controllerlisterner接口,因此需要實現(xiàn)該接口中的controllerupdate()方法,該方法在controller對象產(chǎn)生一個事件時被調(diào)用。(程序部分源代碼及注釋)package mediaplayer;import java.awt.*;import .*;i
9、mport java.awt.event.*;import java.io.*;import javax.media.*;import javax.swing.*;public class mediaplayjava public static void main(string args) new mediaplay2(); class mediaplay2 extends jframeimplements controllerlistener,actionlistener player player; component visualcomponent,controlcomponent;jm
10、enubar jmb;jmenu wj;jmenuitem dk,zt,tc,qhtu;jlabel tp1,tp2,tp3,tp4,tp5,tp6; string url; mediaplay2() super(media player); setsize(500,500); tp1=new jlabel(); tp2=new jlabel(); tp3=new jlabel(); tp4=new jlabel(); tp5=new jlabel(); tp6=new jlabel(); add(tp1); add(tp2); add(tp3); add(tp4); add(tp5); ad
11、d(tp6); setlayout(new gridlayout(2,3); jmb=new jmenubar(); wj=new jmenu(文件); qhtu=new jmenuitem(添加圖片); qhtu.addactionlistener(this); dk=new jmenuitem(打開); dk.addactionlistener(this); zt=new jmenuitem(暫停); tc=new jmenuitem(退出); zt.addactionlistener(this); tc.addactionlistener(this); wj.add(dk); wj.ad
12、d(zt); wj.add(tc); jmb.add(wj); setjmenubar(jmb); setvisible(true); this.validate(); public void actionperformed(actionevent e) if(e.getactioncommand().equals(添加圖片) filedialog filedialog2 = new filedialog(this, 打開圖片, filedialog.load);filedialog2.setvisible(true); url=filedialog2.getdirectory()+filed
13、ialog2.getfile();if(tp1.geticon()=null) tp1.seticon(new imageicon(url); else if(tp2.geticon()=null) tp2.seticon(new imageicon(url); else if(tp3.geticon()=null) tp3.seticon(new imageicon(url); else if(tp4.geticon()=null) tp4.seticon(new imageicon(url); else if(tp5.geticon()=null) tp5.seticon(new imag
14、eicon(url); else if(tp6.geticon()=null) tp6.seticon(new imageicon(url); if(e.getactioncommand().equals(退出) system.out.println(用戶選擇了退出菜單項!); if(e.getactioncommand().equals(暫停) system.out.println(用戶選擇了暫停菜單項!); if (e.getactioncommand().equals(打開) filedialog filedialog = new filedialog(this, 打開媒體文件, fil
15、edialog.load);filedialog.setvisible(true);if (filedialog.getfile() = null)return;try player=manager.createplayer(new medialocator(file:+ filedialog.getdirectory() + filedialog.getfile(); player.getduration(); player.addcontrollerlistener(this); catch(exception e1) system.out.println(error!); if(play
16、er!=null) player.prefetch(); this.settitle(filedialog.getfile(); public synchronized void controllerupdate(controllerevent event) player.getduration(); if(event instanceof realizecompleteevent) if(visualcomponent=player.getvisualcomponent()!=null) this.add(center,visualcomponent); if(controlcomponen
17、t=player.getcontrolpanelcomponent()!=null) this.add(south,controlcomponent); this.validate(); this.pack(); else if(event instanceof prefetchcompleteevent) player.start(); 2.4測試分析運行編譯好的程序,選擇任意.mp3文件進行播放,觀察播放效果,若成功說明程序無誤。程序的不足是在播放歷史列表這一功能上,如果打開一個不支持的文件格式,雖然不會播放。但程序仍然會將該文件加入到歷史記錄列表中。2.4.1程序運行情況程序啟動(如圖2
18、.1):圖2.1 主界面點擊“打開”,播放mp3的界面(如圖2.2):圖2.2 點擊“打開”的界面顯示mp3的詳細信息(如圖2.3):圖2.2 點擊“音樂播放”界面2.4.2程序異常處理如果已存在一個播放器,則先將其關(guān)閉,稍后重新創(chuàng)建創(chuàng)建播放器時需要捕捉一些異常。當要打開的文件名不存在時,則捕捉異常;當打開的文件格式不被支持時,捕捉異常,提示不能找到播放器。try player = manager.createplayer(new medialocator(file: + cufile); catch (java.io.ioexception e2) system.out.println(e2);return; catch (noplayerexception e2) system.out.println(不能找到播放器.);return;第3章 課程設(shè)計總結(jié)java是目前最流行的軟件開發(fā)語言之一,稱為網(wǎng)絡(luò)上的“世界語”。java適合開發(fā)基于多媒體、與平臺無關(guān)、用面向?qū)ο蟮姆椒ㄟM行的基于internet、intranet、extranet的applet和應(yīng)用程序。它具有簡單高效、面向?qū)ο?、不依賴于機器結(jié)構(gòu)的特點,支持多線程、分布和并發(fā)機制。用java開發(fā)的應(yīng)用軟件在可移植性、健壯性、安全性等方面大大優(yōu)于已存在的其他編程語言。jav
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電梯底坑施工方案
- 西坪外墻施工方案
- 宜城水下封堵施工方案
- 人工拆除煙囪施工方案
- 思辯技能測試題及答案
- 2025年護理三級產(chǎn)科試題及答案
- 5言自編現(xiàn)代詩5句
- 低溫電磁閥設(shè)計
- 5個環(huán)境描寫的開頭
- c++中環(huán)形緩沖區(qū)數(shù)據(jù)結(jié)構(gòu)的設(shè)計
- 降低陰式分娩產(chǎn)后出血發(fā)生率-PDCA
- 云南省地圖含市縣地圖矢量分層地圖行政區(qū)劃市縣概況ppt模板
- 光伏發(fā)電工程達標投產(chǎn)創(chuàng)優(yōu)工程檢查記錄
- 領(lǐng)導干部要樹立正確的價值觀、權(quán)力觀、事業(yè)觀課件
- 體育社會學(第一章)盧元鎮(zhèn)第四版課件
- 數(shù)電課件康華光電子技術(shù)基礎(chǔ)-數(shù)字部分第五版完全
- DB21-T 2041-2022寒區(qū)溫拌瀝青路面工程技術(shù)規(guī)程
- 語文主題學習整本書閱讀指導課件
- 職業(yè)教育課堂教學設(shè)計(全)課件
- 工程項目造價控制措施
- 心電監(jiān)護操作評分標準
評論
0/150
提交評論