⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frame1.java~42~

📁 用jbuilder做的视频播放器
💻 JAVA~42~
字号:
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 + -