一个简单的音乐播放器的java代码

  • 格式:doc
  • 大小:46.50 KB
  • 文档页数:10

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import java.util.*;

import javax.swing.*;

import javax.media.bean.playerbean.*;

import java.io.IOException;

import javax.swing.JOptionPane;

import java.awt.*;

public class lyt extends JFrame implements Runnable {

public MediaPlayer soumd1;

private JButton playSound, stopsound, tjian,loopSound;

private JMenuItem jmiOpen,jmiSave,jmiExit,jmiAbout;

public JPanel jp1, jp2, jp3, jp4;

public JList jl;

private JButton last, next, stop;

public Vector vector, mingcheng;

boolean fo = false, geshi = false;

JLabel jl1, jl2, sj1, sj2;

JTextField jt1, jt2;

int a = 0, b = 0, you = 1, mm = 0;

public lyt() {

super("200842018java音乐播放器");

soumd1 = new MediaPlayer();

Container c = getContentPane();

c.setLayout(new FlowLayout());

mingcheng = new Vector();

jp1 = new JPanel();

c.add(jp1);

JMenuBar mb=new JMenuBar();

setJMenuBar(mb);

JMenu fileMenu=new JMenu("文件");

mb.add(fileMenu);

JMenu helpMenu=new JMenu("帮助");

mb.add(helpMenu);

fileMenu.add(jmiOpen=new JMenuItem("打开"));

fileMenu.add(jmiSave=new JMenuItem("播放"));

helpMenu.add(jmiAbout=new JMenuItem("关于"));

JPanel jp2 = new JPanel(); jp2.setLayout(new FlowLayout());

jp2.add(last = new JButton("后退"));

jp2.add(playSound = new JButton("播放"));

jp2.add(tjian = new JButton("添加"));

jp2.add(next = new JButton("前进"));

jp2.add(stopsound = new JButton("停止"));

jp2.add(loopSound= new JButton("循环"));

getContentPane().add(jp2, BorderLayout.SOUTH);

jp2 = new JPanel();

jp2.add(playSound);

jp2.add(stopsound);

c.add(jp2);

jp4 = new JPanel();

sj1 = new JLabel();

sj2 = new JLabel();

jp4.add(sj1);

jp4.add(sj2);

c.add(jp4);

vector = new Vector();

jl = new JList(mingcheng);

jl.setVisibleRowCount(4);

jl.setFixedCellHeight(30);

jl.setFixedCellWidth(265);

jl.setSelectionMode(ListSelectionModel.SINGLE_SELECTION)

;

c.add(new JScrollPane(jl));

jp3 = new JPanel();

jp3.add(tjian);

c.add(jp3);

try {

String s = "d:\\music.txt";

ObjectInputStream input = new ObjectInputStream(

new FileInputStream(s));

lujin a1 = (lujin) input.readObject();

mingcheng = a1.b;

vector = a1.a;

jl.setListData(mingcheng);

} catch (Exception e) {

System.out.println("D盘没有保存音乐文件");

}

jmiOpen.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent event) {

JFileChooser fileChooser = new JFileChooser();

fileChooser

.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES

);

fileChooser.setCurrentDirectory(new File("."));

fileChooser

.setFileFilter(new

javax.swing.filechooser.FileFilter() {

public boolean accept(File file) {

String name = file.getName().toLowerCase();

return name.endsWith(".mp3")

|| file.isDirectory();

}

public String getDescription() {

return "音乐文件(*.mp3)";

}

});

if (fileChooser.showOpenDialog(lyt.this) ==

JFileChooser.APPROVE_OPTION) {

String fileName =

fileChooser.getSelectedFile()

.getAbsolutePath();

vector.add(fileName);

StringBuffer buffer = daoxu(fileName);

mingcheng.add(buffer);

}

}

});

tjian.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent event) {

JFileChooser fileChooser = new JFileChooser();

fileChooser

.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES

); fileChooser.setCurrentDirectory(new

File("."));

fileChooser

.setFileFilter(new

javax.swing.filechooser.FileFilter() {

public boolean accept(File file) {

String name =

file.getName().toLowerCase();

return name.endsWith(".mp3")

|| file.isDirectory();

}

public String getDescription() {

return "音乐文件(*.mp3)";

}

});

if (fileChooser.showOpenDialog(lyt.this) ==

JFileChooser.APPROVE_OPTION) {

String fileName =

fileChooser.getSelectedFile()

.getAbsolutePath();

vector.add(fileName);

StringBuffer buffer = daoxu(fileName);

mingcheng.add(buffer);

}

}

});

jmiSave.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

if (jl.getSelectedIndex() >= 0) {