📄 mediaplayerframe.java
字号:
/*
* MediaPlayerFrame.java
*
* Created on 2008年3月28日, 上午1:02
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package com.gjunit.CRT;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import javax.media.ControllerEvent;
import javax.media.ControllerListener;
import javax.media.Manager;
import javax.media.Player;
import javax.media.RealizeCompleteEvent;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JToolBar;
public class MediaPlayerFrame extends JFrame implements ControllerListener {
private Player player = null;
private Component center, south;
private File file;
public MediaPlayerFrame() {
super("Media Player");
getContentPane().add(getToolBar(), BorderLayout.PAGE_START);
setSize(400, 400);
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
setLocationRelativeTo(null);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
if (player != null) {
player.stop();
player.close();
}
System.exit(0);
}
});
setVisible(true);
}
private JToolBar getToolBar() {
JToolBar tb = new JToolBar();
tb.add(getOpenBtn());
tb.add(getExitBtn());
return tb;
}
private JButton getExitBtn() {
JButton exit = new JButton("Exit");
exit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (player != null) {
player.stop();
player.close();
}
System.exit(0);
}
});
return exit;
}
private JButton getOpenBtn() {
JButton open = new JButton("Open");
open.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
JFileChooser fc = new JFileChooser(file); //显示文件
if (fc.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) //选择确认后返回
{
file = fc.getSelectedFile(); //file是选择确认后的文件
if (player != null) //判断是否在播放
{
player.stop(); //如果是就停止
player.close(); //关闭
}
try {
player = Manager.createPlayer(file.toURL()); //获得player的对象
player.addControllerListener(MediaPlayerFrame.this); //加入监听器
player.start(); //开始播放
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
});
return open;
}
public static void main(String[] args) {
new MediaPlayerFrame();
}
public void controllerUpdate(ControllerEvent ce) {
if (ce instanceof RealizeCompleteEvent) {
Container cp = getContentPane();
if(center != null)
cp.remove(center);
if ((center = player.getVisualComponent()) != null)
cp.add(center);
if(south != null)
cp.remove(south);
if ((south = player.getControlPanelComponent()) != null)
cp.add(south, BorderLayout.SOUTH);
validate();
pack();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -