1
package com.szsm.swing.framepanel;
import java.applet.Applet;
import java.applet.AudioClip;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.net.MalformedURLException;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.filechooser.FileNameExtensionFilter;
import com.szsm.swing.parent.FrameSet;
public class PlayFrame extends FrameSet {
File file = null;
public PlayFrame() {
}
@Override
protected void init() {
super.init();
}
@Override
protected void initInterface() {
super.initInterface();
this.setLayout(new FlowLayout());
this.setSize(400, 100);
parentContainer.add(new PlayPanel());
}
class PlayPanel extends JPanel {
public PlayPanel() {
final JTextField field = new JTextField();
field.setPreferredSize(new Dimension(300, 40));
this.add(field);
JButton select = new JButton("选择");
select.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
JFileChooser chooser = new JFileChooser();
chooser.setFileFilter(new
FileNameExtensionFilter("支持的音频文件(*.wav,*.au,*.mid)", "wav", "au", "mid")) ;
chooser.showOpenDialog(PlayFrame.this);
file = chooser.getSelectedFile();
if(null != file)
{
String path = file.getAbsolutePath();
field.setText(path);
}
}
});
JButton play = new JButton("播放");
play.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
if(clip!=null)
{
clip.stop();
}
try {
clip = Applet.newAudioClip(file.toURI().toURL());
clip.play();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
this.add(select);
this.add(play);
}
}
AudioClip clip = null;
}
2