基于java的音乐播放器的设计源代码+实验报告Word格式文档下载.docx

上传人:b****4 文档编号:8306203 上传时间:2023-05-11 格式:DOCX 页数:23 大小:44.93KB
下载 相关 举报
基于java的音乐播放器的设计源代码+实验报告Word格式文档下载.docx_第1页
第1页 / 共23页
基于java的音乐播放器的设计源代码+实验报告Word格式文档下载.docx_第2页
第2页 / 共23页
基于java的音乐播放器的设计源代码+实验报告Word格式文档下载.docx_第3页
第3页 / 共23页
基于java的音乐播放器的设计源代码+实验报告Word格式文档下载.docx_第4页
第4页 / 共23页
基于java的音乐播放器的设计源代码+实验报告Word格式文档下载.docx_第5页
第5页 / 共23页
基于java的音乐播放器的设计源代码+实验报告Word格式文档下载.docx_第6页
第6页 / 共23页
基于java的音乐播放器的设计源代码+实验报告Word格式文档下载.docx_第7页
第7页 / 共23页
基于java的音乐播放器的设计源代码+实验报告Word格式文档下载.docx_第8页
第8页 / 共23页
基于java的音乐播放器的设计源代码+实验报告Word格式文档下载.docx_第9页
第9页 / 共23页
基于java的音乐播放器的设计源代码+实验报告Word格式文档下载.docx_第10页
第10页 / 共23页
基于java的音乐播放器的设计源代码+实验报告Word格式文档下载.docx_第11页
第11页 / 共23页
基于java的音乐播放器的设计源代码+实验报告Word格式文档下载.docx_第12页
第12页 / 共23页
基于java的音乐播放器的设计源代码+实验报告Word格式文档下载.docx_第13页
第13页 / 共23页
基于java的音乐播放器的设计源代码+实验报告Word格式文档下载.docx_第14页
第14页 / 共23页
基于java的音乐播放器的设计源代码+实验报告Word格式文档下载.docx_第15页
第15页 / 共23页
基于java的音乐播放器的设计源代码+实验报告Word格式文档下载.docx_第16页
第16页 / 共23页
基于java的音乐播放器的设计源代码+实验报告Word格式文档下载.docx_第17页
第17页 / 共23页
基于java的音乐播放器的设计源代码+实验报告Word格式文档下载.docx_第18页
第18页 / 共23页
基于java的音乐播放器的设计源代码+实验报告Word格式文档下载.docx_第19页
第19页 / 共23页
基于java的音乐播放器的设计源代码+实验报告Word格式文档下载.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于java的音乐播放器的设计源代码+实验报告Word格式文档下载.docx

《基于java的音乐播放器的设计源代码+实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于java的音乐播放器的设计源代码+实验报告Word格式文档下载.docx(23页珍藏版)》请在冰点文库上搜索。

基于java的音乐播放器的设计源代码+实验报告Word格式文档下载.docx

importjavax.swing.ImageIcon;

importjavax.swing.JButton;

importjavax.swing.JFileChooser;

importjavax.swing.JFrame;

importjavax.swing.JList;

importjavax.swing.JMenu;

importjavax.swing.JMenuBar;

importjavax.swing.JMenuItem;

importjavax.swing.JOptionPane;

importjavax.swing.JPanel;

importjavax.swing.JRadioButtonMenuItem;

importjavax.swing.JScrollBar;

importjavax.swing.JScrollPane;

importjavax.swing.filechooser.FileNameExtensionFilter;

publicclassMusicPlayerimplementsActionListener,Serializable,ControllerListener

{

privatestaticfinallongserialVersionUID=1L;

privateJFrameframe=null;

privateJPanelcontrolPanel=null;

privateJButtonbtnPlay=null;

privateJButtonbtnPre=null;

privateJButtonbtnNext=null;

privateJScrollPanelistPane=null;

privateJListlist=null;

privateDefaultListModellistModel=null;

privateJMenuBarmenubar=null;

privateJMenumenuFile=null,menuAbout=null,menuMode=null;

privateJMenuItemitemOpen,itemOpens,itemExit,itemAbout;

privateJRadioButtonMenuItemitemSingle,itemSequence,itemRandom;

privateListItemcurrentItem=null;

privatestaticPlayerplayer=null;

privatebooleanisPause=false;

privateintmode;

privateintcurrentIndex;

privateImageIconiconPlay=newImageIcon("

d:

\\1.jpg"

);

privateImageIconiconPre=newImageIcon("

\\3.jpg"

privateImageIconiconNext=newImageIcon("

\\2.jpg"

privateImageIconiconPause=newImageIcon("

\\4.jpg"

publicstaticvoidmain(String[]args)

{

newMusicPlayer();

}

publicMusicPlayer()

init();

publicvoidinit()

frame=newJFrame();

frame.setTitle("

音乐播放器"

frame.setSize(400,300);

frame.setResizable(false);

frame.setLocationRelativeTo(null);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

menubar=newJMenuBar();

menuFile=newJMenu("

文件"

menuAbout=newJMenu("

关于"

menuMode=newJMenu("

播放模式"

itemOpen=newJMenuItem("

添加文件"

itemOpens=newJMenuItem("

添加文件夹"

itemExit=newJMenuItem("

退出"

itemAbout=newJMenuItem("

itemOpen.addActionListener(this);

itemOpens.addActionListener(this);

itemExit.addActionListener(this);

itemAbout.addActionListener(this);

itemSequence=newJRadioButtonMenuItem("

顺序播放"

itemSequence.setSelected(true);

itemSingle=newJRadioButtonMenuItem("

单曲循环"

itemSequence.addActionListener(this);

itemRandom=newJRadioButtonMenuItem("

随机播放"

itemRandom.addActionListener(this);

itemSingle.addActionListener(this);

ButtonGroupbg=newButtonGroup();

bg.add(itemRandom);

bg.add(itemSequence);

bg.add(itemSingle);

menuFile.add(itemOpen);

menuFile.add(itemOpens);

menuFile.add(itemExit);

menuAbout.add(itemAbout);

menuMode.add(itemSequence);

menuMode.add(itemSingle);

menuMode.add(itemRandom);

menubar.add(menuFile);

menubar.add(menuAbout);

menubar.add(menuMode);

frame.setJMenuBar(menubar);

frame.setLayout(newBorderLayout());

controlPanel=newJPanel();

controlPanel.setLayout(newFlowLayout());

btnPlay=newJButton(iconPlay);

btnPre=newJButton(iconPre);

btnNext=newJButton(iconNext);

btnPlay.addActionListener(this);

btnPre.addActionListener(this);

btnNext.addActionListener(this);

controlPanel.add(btnPre);

controlPanel.add(btnPlay);

controlPanel.add(btnNext);

listPane=newJScrollPane();

listModel=load();

list=newJList(listModel);

if(list.getSelectedIndex()==-1&

&

listModel.size()>

0)

{

currentItem=(ListItem)listModel.get(0);

list.setSelectedIndex(0);

currentIndex=0;

}

listPane.getViewport().add(list);

list.addMouseListener(newMouseAdapter()

publicvoidmouseClicked(MouseEvente)

{

if(e.getClickCount()==2)

{

if(player!

=null)

{

player.close();

btnPlay.setIcon(iconPlay);

}

currentIndex=list.locationToIndex(e.getPoint());

currentItem=(ListItem)listModel.get(currentIndex);

list.setSelectedIndex(currentIndex);

play();

}

}

});

frame.add(controlPanel,BorderLayout.NORTH);

frame.add(listPane,BorderLayout.CENTER);

frame.setVisible(true);

};

publicvoidactionPerformed(ActionEvente)

if(e.getSource()==itemOpen)

{//addfiles

JFileChooserjfc=newJFileChooser();

FileNameExtensionFilterfilter=newFileNameExtensionFilter("

音乐文件"

"

mp3"

wav"

jfc.setFileFilter(filter);

jfc.setFileSelectionMode(JFileChooser.FILES_ONLY);

jfc.setMultiSelectionEnabled(true);

if(jfc.showOpenDialog(frame)==JFileChooser.APPROVE_OPTION)

File[]files=jfc.getSelectedFiles();

for(Filef:

files)

ListItemitem=newListItem(f.getName(),f.getAbsolutePath());

listModel.addElement(item);

}

elseif(e.getSource()==itemOpens)

{//addfilesinadirectory

jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);

Filedirectory=jfc.getSelectedFile();

File[]files=directory.listFiles(newjava.io.FileFilter()

publicbooleanaccept(Filef)

if(f.getName().toLowerCase().endsWith("

.mp3"

)||f.getName().toLowerCase().endsWith("

.wav"

))

returntrue;

returnfalse;

});

for(Filefile:

ListItemitem=newListItem(file.getName(),file.getAbsolutePath());

save(listModel);

elseif(e.getSource()==itemExit)

System.exit(0);

elseif(e.getSource()==itemAbout)

JOptionPane.showMessageDialog(frame,"

作者:

陆鑫"

elseif(e.getSource()==btnPlay)

//playorpause

play();

elseif(e.getSource()==btnPre)

pre();

elseif(e.getSource()==btnNext)

{//nextmusic

next();

elseif(e.getSource()==itemSequence)

mode=0;

elseif(e.getSource()==itemSingle)

mode=1;

elseif(e.getSource()==itemRandom)

mode=2;

//playcontrol

/**

  *播放

  */

publicvoidplay()

if(btnPlay.getIcon()==iconPlay)

if(isPause)

player.start();

System.out.println("

暂停结束"

isPause=false;

}

else

try

player=Manager.createPlayer(newMediaLocator("

file:

"

+currentItem.getPath()));

player.addControllerListener(this);

//提取媒体内容

player.prefetch();

}

catch(NoPlayerExceptione1)

e1.printStackTrace();

catch(IOExceptione1)

btnPlay.setIcon(iconPause);

else

player.stop();

isPause=true;

System.out.println("

暂停"

btnPlay.setIcon(iconPlay);

publicvoidnext()

if(currentIndex==listModel.getSize()-1)

currentIndex=0;

currentIndex++;

currentItem=(ListItem)listModel.get(currentIndex);

list.setSelectedIndex(currentIndex);

Pointp=list.indexToLocation(currentIndex);

JScrollBarjScrollBar=listPane.getVerticalScrollBar();

//获得垂直转动条

jScrollBar.setValue(p.y);

//设置垂直转动条位置

btnPlay.setIcon(iconPlay);

if(player!

=null)

player.close();

isPause=false;

play();

publicvoidrand()

list.setSelectedIndex((int)(Math.random()%(listModel.getSize()-1)));

Pointp=list.indexToLocation((int)(Math.random()%(listModel.getSize()-1)));

publicvoidpre()

if(currentIndex==0)

currentIndex=listModel.getSize()-1;

currentIndex--;

//endplaycontrol

publicDefaultListModelload()

Filefile=newFile("

list.lst"

DefaultListModeldlm=newDefaultListModel();

if(file.exists())

try

ObjectInputStreamois=newObjectInputStream(

newFileInputStream(file));

Integersize=(Integer)ois.readObject();

if(size!

=0)

for(inti=0;

i<

size;

i++)

ListItemitem=(ListItem)ois.readObject();

dlm.addElement(item);

ois.close();

returndlm;

catch(FileNotFoundExceptione)

e.print

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 职业教育 > 职高对口

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2