?? frame1.java~48~
字號:
package media_player;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
import javax.media.*;
import java.io.*;
public class Frame1 extends JFrame implements ControllerListener{
JPanel contentPane;
JMenuBar jMenuBar1 = new JMenuBar();
JMenu jMenuFile = new JMenu();
JMenuItem jMenuFileExit = new JMenuItem();
JMenu jMenuHelp = new JMenu();
JMenuItem jMenuHelpAbout = new JMenuItem();
JLabel statusBar = new JLabel();
BorderLayout borderLayout1 = new BorderLayout();
JMenuItem jMenuFileOpen = new JMenuItem();
Player player;
Component visualComponent;
Component controlComponent;
JPanel jPanel1 = new JPanel();
BorderLayout borderLayout2 = new BorderLayout();
String file="";
String strDir;
//Construct the frame
public Frame1() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
file="H:\\a.mpg";
player=Manager.createPlayer(new URL("file:"+file));
if(player.getState()==300){
visualComponent=player.getVisualComponent();
}
jPanel1.setVisible(true);
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
player.addControllerListener(this);
player.prefetch();
}
//Component initialization
private void jbInit() throws Exception {
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(borderLayout1);
this.setLocale(java.util.Locale.getDefault());
this.setSize(new Dimension(400, 300));
this.setTitle("\u64AD\u653E\u5668");
statusBar.setText(" ");
jMenuFile.setText("\u6587\u4EF6");
jMenuFileExit.setText("\u9000\u51FA");
jMenuFileExit.addActionListener(new Frame1_jMenuFileExit_ActionAdapter(this));
jMenuHelp.setText("\u5E2E\u52A9");
jMenuHelpAbout.setText("\u5173\u4E8E\u64AD\u653E\u5668");
jMenuHelpAbout.addActionListener(new Frame1_jMenuHelpAbout_ActionAdapter(this));
jMenuFileOpen.setText("\u6253\u5F00\u4E00\u4E2A\u6587\u4EF6");
jMenuFileOpen.addActionListener(new Frame1_jMenuFileOpen_ActionAdapter(this));
jPanel1.setLayout(borderLayout2);
jMenuFile.add(jMenuFileOpen);
jMenuFile.add(jMenuFileExit);
jMenuHelp.add(jMenuHelpAbout);
jMenuBar1.add(jMenuFile);
jMenuBar1.add(jMenuHelp);
this.setJMenuBar(jMenuBar1);
statusBar.setText("\u6B63\u5728\u64AD\u653E\uFF1A"+file.toString());
JPopupMenu.setDefaultLightWeightPopupEnabled(false);
contentPane.add(statusBar, BorderLayout.SOUTH);
contentPane.add(jPanel1, BorderLayout.CENTER);
}
//File | Exit action performed
public void jMenuFileExit_actionPerformed(ActionEvent e) {
System.exit(0);
}
//Help | About action performed
public void jMenuHelpAbout_actionPerformed(ActionEvent e) {
Frame1_AboutBox dlg = new Frame1_AboutBox(this);
Dimension dlgSize = dlg.getPreferredSize();
Dimension frmSize = getSize();
Point loc = getLocation();
dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y);
dlg.setModal(true);
dlg.pack();
dlg.show();
}
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
jMenuFileExit_actionPerformed(null);
}
}
public void controllerUpdate(ControllerEvent e){
if(e instanceof RealizeCompleteEvent){
visualComponent=player.getVisualComponent();
controlComponent=player.getControlPanelComponent();
jPanel1.add(controlComponent,"South");
jPanel1.add(visualComponent,"Center");
resize();
this.pack();
player.prefetch();
player.start();
return;
}
}
public void resize(){
Dimension dimVisual=new Dimension(0,0);
int width=0;
int height=0;
if(visualComponent!=null){
dimVisual=visualComponent.getPreferredSize();
}
width=dimVisual.width;
height=dimVisual.height;
jPanel1.setSize(width,height);
}
public void jMenuFileOpen_actionPerformed(ActionEvent e){
try{
FileDialog dlgOpen=new FileDialog(this,"\u6253\u5F00\u5A92\u4F53\u6587\u4EF6",FileDialog.LOAD);
dlgOpen.setDirectory(strDir);
dlgOpen.show();
strDir=dlgOpen.getDirectory();
if(strDir!=null || !strDir.equals("")){
player.close();
this.remove(visualComponent);
visualComponent = null;
file = strDir + dlgOpen.getFile();
player = Manager.createPlayer(new URL("file:" + file));
statusBar.setText("\u6B63\u5728\u64AD\u653E\uFF1A"+file.toString());
this.pack();
player.prefetch();
player.start();
}
}
catch(Exception ex){
}
player.addControllerListener(this);
player.prefetch();
}
}
class Frame1_jMenuFileExit_ActionAdapter implements ActionListener {
Frame1 adaptee;
Frame1_jMenuFileExit_ActionAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuFileExit_actionPerformed(e);
//adaptee.jMenuFileOpen_actionPerformed(e);
}
}
class Frame1_jMenuFileOpen_ActionAdapter implements ActionListener {
Frame1 adaptee;
Frame1_jMenuFileOpen_ActionAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuFileOpen_actionPerformed(e);
}
}
class Frame1_jMenuHelpAbout_ActionAdapter implements ActionListener {
Frame1 adaptee;
Frame1_jMenuHelpAbout_ActionAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuHelpAbout_actionPerformed(e);
//adaptee.jMenuFileOpen_actionPerformed(e);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -