
java程序设计课程设计报告音乐播放器.docx
JAVA及JAVAWEB应用开发实验报告设计题目JAVA音乐播放器专业计算机信息管理班级1班学号姓名2014年12月24日
IMPORTJAVAXMEDIACONTROLLEREVENTIMPORTJAVAXMEDIACONTROLLERLISTENERIMPORTJAVAXMEDIAENDOFMEDIAEVENTIMPORTJAVAXMEDIAPREFETCHCOMPLETEEVENTIMPORTJAVAXMEDIAREALIZECOMPLETEEVENTIMPORTJAVAXMEDIAIMPORTJAVAXSWINGIMPORTJAVAAWTIMPORTJAVAAWTEVENTPUBLICCLASSMEDIAPLAYEREXTENDSJFRAMEIMPLEMENTSACTIONLISTENER,ITEMLISTENER,CONTROLLERLISTENER{STRINGTITLEPLAYERPLAYERBOOLEANFIRSTTRUE,LOOPFALSECOMPONENTVC,CCSTRINGCURRENTDIRECTORYNULL//构造函数,其中包括了设置响应窗口事件的监听器。MEDIAPLAYERSTRINGTITLE{SUPERTITLE/关闭按钮的实现。。/ADDWINDOWLISTENERNEWWINDOWADAPTER{PUBLICVOIDWINDOWCLOSINGWINDOWEVENTE{DISPOSE}PUBLICVOIDWINDOWCLOSEDWINDOWEVENTE{IFPLAYERNULLPLAYERCLOSESYSTEMEXIT0}}//调用程序菜单栏的方法成员完成菜单的布置SETUPMENUSETSIZE400,400SETVISIBLETRUE}//本方法用以设置程序菜单栏PUBLICVOIDSETUPMENU{//设置一个菜单MENUFNEWMENU“文件“//往设置的菜单添加菜单项MENUITEMMINEWMENUITEM“打开“FADDMIMIADDACTIONLISTENERTHISFADDSEPARATORCHECKBOXMENUITEMCBMINEWCHECKBOXMENUITEM“循环“,FALSECBMIADDACTIONLISTENERTHISFADDCBMIFADDSEPARATORMENUITEMEENEWMENUITEM“退出“EEADDACTIONLISTENERTHISFADDEEFADDSEPARATORMENULNEWMENU“播放列表“MENUCNEWMENU“播放控制“MENUITEMMOVENEWMENUITEM“播放“MOVEADDACTIONLISTENERTHISCADDMOVECADDSEPARATORMENUITEMPAUSENEWMENUITEM“暂停“PAUSEADDACTIONLISTENERTHISCADDPAUSECADDSEPARATORMENUITEMSTOPNEWMENUITEM“停止“STOPADDACTIONLISTENERTHISCADDSTOPCADDSEPARATOR//设置一个菜单栏MENUBARMBNEWMENUBARMBADDFMBADDCMBADDL//将构造完成的菜单栏交给当前程序的窗口SETMENUBARMB}//动作时间响应成员;捕捉发送到本对象的各种事件PUBLICVOIDACTIONPEREDACTIONEVENTE{//TODOAUTOGENERATEDSTUBSTRINGCUFILE,SELECTFILE,CURRENTDIRECTORYIFEGETACTIONCOMMANDEQUALS“退出“{//调用DISPOSE以便执行WINDOWCLOSEDDISPOSERETURN}//此事表明拥护选择了“播放”命令//如果当前有一个文件可以播放则执行播放命令IFEGETACTIONCOMMANDEQUALS“播放“{IFPLAYERNULL{PLAYERSTART}RETURN}//如果当前正在播放某一文件,则执行暂停IFEGETACTIONCOMMANDEQUALS“暂停“{IFPLAYERNULL{PLAYERSTOP}RETURN}//停止命令的响应IFEGETACTIONCOMMANDEQUALS“停止“{IFPLAYERNULL{PLAYERSTOPPLAYERSETMEDIATIMENEWTIME0}RETURN}//用户选择要播放的媒体文件IFEGETACTIONCOMMANDEQUALS“打开“{FILEDIALOGFDNEWFILEDIALOGTHIS,“打开媒体文件“,FILEDIALOGLOAD//FDSETDIRECTORYCURRENTDIRECTORYFDSETVISIBLETRUE//如果用户放弃选择文件,则返回IFFDGETFILENULL{RETURN}//保存了所选文件的名称及其路径名称已被稍后使用//同时设置当前文件夹路径SELECTFILEFDGETFILECURRENTDIRECTORYFDGETDIRECTORYCUFILECURRENTDIRECTORYSELECTFILE//将用户选择的文件作为一个菜单项加入播放列表,该菜单项名为该文件名//被点击后给出的命令串是该文件的全路径名MENUITEMMINEWMENUITEMSELECTFILEMISETACTIONCOMMANDCUFILEMENUBARMBGETMENUBARMENUMMBGETMENU2MIADDACTIONLISTENERTHISMADDMI}ELSE{//程序逻辑运行到次表示用户选择了一个“播放列表”中的媒体文件//此时可以通过如下动作获得该文件的全路径名CUFILEEGETACTIONCOMMANDSELECTFILECUFILE}//如果存在一个播放器,则先将其关闭,稍后再重新创建//创建播放器时需要捕捉一些异常IFPLAYERNULL{PLAYERCLOSE}TRY{PLAYERMANAGERCREATEPLAYERNEWMEDIALOCATOR“FILE“CUFILE}CATCHEXCEPTIONE2{SYSTEMOUTPRINTLNE2RETURN}/CATCHNOPLAYEREXCEPTIONE2{SYSTEMOUTPRINTLN“不能找到播放器“RETURN}/IFPLAYERNULL{SYSTEMOUTPRINTLN“无法创建播放器“RETURN}FIRSTFALSESETTITLESELECTFILE//设置处理播放控制器实际的对象;//PLAYERADDCONTROLLERLISTENERTHISPLAYERPREFETCH}//菜单状态改变事件的响应函数;PUBLICVOIDITEMSTATECHANGEDITEMEVENTARG0{//TODOAUTOGENERATEDSTUB}PUBLICSTATICVOIDMAINSTRINGARGS{//TODOAUTOGENERATEDSTUBNEWMEDIAPLAYER“播放器“}//调用绘图函数进行界面的绘制//PUBLICVOIDUP
















