📄 playerc.java
字号:
package frame;
import java.awt.Component;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.media.ControllerEvent;
import javax.media.ControllerListener;
import javax.media.EndOfMediaEvent;
import javax.media.Player;
import javax.media.PrefetchCompleteEvent;
import javax.media.RealizeCompleteEvent;
import javax.swing.JInternalFrame;
import javax.swing.event.InternalFrameAdapter;
import javax.swing.event.InternalFrameEvent;
public class PlayerC extends JInternalFrame implements ControllerListener,MouseListener,ActionListener
{
private static final long serialVersionUID = 1L;
private String path;
private Player player;
public Component visual = null;
private Component control = null;
int videoWidth = 0;
int videoHeight = 0;
int controlHeight = 30;
int insetWidth = 0;
int insetHeight = 35;
boolean firstTime = true;
public Player mplayer;
private MyFrame myframe;
private PopupMenu popupMenu1;
private MenuItem playOrPause;
private MenuItem chSize;
private MenuItem quitfullscreen;
public PlayerC(Player player,String path,MyFrame myframe)
{
super(path, false,true,false,false);
addMouseListener(this);
setVisible(true);
popupMenu1 = new PopupMenu();
playOrPause=new MenuItem("播放/暂停");
chSize=new MenuItem("显示列表");
quitfullscreen=new MenuItem("全屏");
popupMenu1.add(playOrPause);
popupMenu1.add(chSize);
popupMenu1.add(quitfullscreen);
this.path=path;
this.player=player;
this.myframe=myframe;
playOrPause.addActionListener(this);
chSize.addActionListener(this);
quitfullscreen.addActionListener(this);
mplayer = player;
mplayer.addControllerListener((ControllerListener) this);
mplayer.realize();
addInternalFrameListener( new InternalFrameAdapter()
{
public void internalFrameClosing(InternalFrameEvent ife)
{
mplayer.close();
// change();
}
} );
}
public void controllerUpdate(ControllerEvent ce)
{
if (ce instanceof RealizeCompleteEvent)
{
mplayer.prefetch();
}
else if (ce instanceof PrefetchCompleteEvent)
{
if (visual != null)
return;
if ((visual = mplayer.getVisualComponent()) != null)
{
visual.addMouseListener(this);
getContentPane().add("Center", visual); //电影播放屏幕
}
if ((control = mplayer.getControlPanelComponent()) != null)
{
getContentPane().add("South", control);
}
validate();
}
else if (ce instanceof EndOfMediaEvent)
{
mplayer.deallocate();
mplayer.close();
}
}
public void play()
{
mplayer.start();
}
public void stop()
{
mplayer.stop();
mplayer.close();
}
public void change()
{
myframe.changeoriginal();
myframe.isplay=0;
}
public void mouseClicked(MouseEvent arg0) {}
public void mouseEntered(MouseEvent arg0) {}
public void mouseExited(MouseEvent arg0) {}
public void mousePressed(MouseEvent e) {
int mods = e.getModifiers();
if ((mods & 4) != 0 && (e.getSource() == visual))
{
visual.add(popupMenu1);
if (e.getSource() == visual)
{
popupMenu1.show(visual, e.getX(), e.getY());
myframe.changeoriginal();
}
}
}
public void mouseReleased(MouseEvent arg0) {}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==playOrPause)
{ if(myframe.isplay==0)
{ myframe.isplay=1;
myframe.play();
}
else
{ myframe.isplay=0;
myframe.stop();
}
}
if(e.getSource()==quitfullscreen)
{
if(myframe.isfullscreen==0)
{
myframe.isfullscreen=1;
myframe.maxsize();
}
else
{ myframe.isfullscreen=0;
myframe.getback();
}
}
if(e.getSource()==chSize)
{
myframe.showlist();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -