import java.awt.BorderLayout;
為大理州等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及大理州網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、大理州網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
import java.awt.Component;
import java.awt.FileDialog;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.media.ControllerClosedEvent;
import javax.media.ControllerEvent;
import javax.media.ControllerListener;
import javax.media.EndOfMediaEvent;
import javax.media.Manager;
import javax.media.MediaLocator;
import javax.media.NoPlayerException;
import javax.media.Player;
import javax.media.PrefetchCompleteEvent;
import javax.media.RealizeCompleteEvent;
import javax.media.Time;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
public class JMFMediaPlayer extends JFrame implements ActionListener,
ControllerListener, ItemListener {
// JMF的播放器
Player player;
// 播放器的視頻組件和控制組件
Component vedioComponent;
Component controlComponent;
// 標(biāo)示是否是第一次打開播放器
boolean first = true;
// 標(biāo)示是否需要循環(huán)
boolean loop = false;
// 文件當(dāng)前目錄
String currentDirectory;
// 構(gòu)造方法
public JMFMediaPlayer(String title) {
super(title);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){
// 用戶點(diǎn)擊窗口系統(tǒng)菜單的關(guān)閉按鈕
// 調(diào)用dispose以執(zhí)行windowClosed
dispose();
}
public void windowClosed(WindowEvent e){
if (player != null){
// 關(guān)閉JMF播放器對(duì)象
player.close();
}
System.exit(0);
}
});
// 創(chuàng)建播放器的菜單
JMenu fileMenu = new JMenu("文件");
JMenuItem openMemuItem = new JMenuItem("打開");
openMemuItem.addActionListener(this);
fileMenu.add(openMemuItem);
// 添加一個(gè)分割條
fileMenu.addSeparator();
// 創(chuàng)建一個(gè)復(fù)選框菜單項(xiàng)
JCheckBoxMenuItem loopMenuItem = new JCheckBoxMenuItem("循環(huán)", false);
loopMenuItem.addItemListener(this);
fileMenu.add(loopMenuItem);
fileMenu.addSeparator();
JMenuItem exitMemuItem = new JMenuItem("退出");
exitMemuItem.addActionListener(this);
fileMenu.add(exitMemuItem);
JMenuBar menuBar = new JMenuBar();
menuBar.add(fileMenu);
this.setJMenuBar(menuBar);
this.setSize(200, 200);
try {
// 設(shè)置界面的外觀,為系統(tǒng)外觀
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
SwingUtilities.updateComponentTreeUI(this);
} catch (Exception e) {
e.printStackTrace();
}
this.setVisible(true);
}
/**
* 實(shí)現(xiàn)了ActionListener接口,處理組件的活動(dòng)事件
*/
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("退出")) {
// 調(diào)用dispose以便執(zhí)行windowClosed
dispose();
return;
}
FileDialog fileDialog = new FileDialog(this, "打開媒體文件", FileDialog.LOAD);
fileDialog.setDirectory(currentDirectory);
fileDialog.setVisible(true);
// 如果用戶放棄選擇文件,則返回
if (fileDialog.getFile() == null){
return;
}
currentDirectory = fileDialog.getDirectory();
if (player != null){
// 關(guān)閉已經(jīng)存在JMF播放器對(duì)象
player.close();
}
try {
// 創(chuàng)建一個(gè)打開選擇文件的播放器
player = Manager.createPlayer(new MediaLocator("file:"
+ fileDialog.getDirectory() + fileDialog.getFile()));
} catch (java.io.IOException e2) {
System.out.println(e2);
return;
} catch (NoPlayerException e2) {
System.out.println("不能找到播放器.");
return;
}
if (player == null) {
System.out.println("無法創(chuàng)建播放器.");
return;
}
first = false;
this.setTitle(fileDialog.getFile());
// 播放器的控制事件處理
player.addControllerListener(this);
// 預(yù)讀文件內(nèi)容
player.prefetch();
}
/**
* 實(shí)現(xiàn)ControllerListener接口的方法,處理播放器的控制事件
*/
public void controllerUpdate(ControllerEvent e) {
// 調(diào)用player.close()時(shí)ControllerClosedEvent事件出現(xiàn)。
// 如果存在視覺部件,則該部件應(yīng)該拆除(為一致起見,
// 我們對(duì)控制面板部件也執(zhí)行同樣的操作)
if (e instanceof ControllerClosedEvent) {
if (vedioComponent != null) {
this.getContentPane().remove(vedioComponent);
this.vedioComponent = null;
}
if (controlComponent != null) {
this.getContentPane().remove(controlComponent);
this.controlComponent = null;
}
return;
}
// 如果是媒體文件到達(dá)尾部事件
if (e instanceof EndOfMediaEvent) {
if (loop) {
// 如果允許循環(huán),則重新開始播放
player.setMediaTime(new Time(0));
player.start();
}
return;
}
// 如果是播放器預(yù)讀事件
if (e instanceof PrefetchCompleteEvent) {
// 啟動(dòng)播放器
player.start();
return;
}
// 如果是文件打開完全事件,則顯示視頻組件和控制器組件
if (e instanceof RealizeCompleteEvent) {
vedioComponent = player.getVisualComponent();
if (vedioComponent != null){
this.getContentPane().add(vedioComponent);
}
controlComponent = player.getControlPanelComponent();
if (controlComponent != null){
this.getContentPane().add(controlComponent, BorderLayout.SOUTH);
}
this.pack();
}
}
// 處理“循環(huán)”復(fù)選框菜單項(xiàng)的點(diǎn)擊事件
public void itemStateChanged(ItemEvent e) {
loop = !loop;
}
public static void main(String[] args){
new JMFMediaPlayer("JMF媒體播放器");
}
}
試試吧,我這里運(yùn)行正常
import?java.util.Scanner;
/**
*?
*?@author?12052010
*?@Date?December?05,2014
*
*/
public?class?Film?{
public?static?void?main(String[]?args){
Scanner?input?=?new?Scanner(System.in);
int?[][]?num?=?new?int[2][10];
int?fg1,fg2;//標(biāo)志顧客選擇?的座位fg1:排數(shù)?fg2:列數(shù)
for(int?i=0;inum.length;i++){
for(int?j=0;jnum[i].length;j++)
num[i][j]=0;//賦初值,所有座位沒有被預(yù)定
}
randomBook(num);
System.out.print("\n-----------電影院座位訂票情況(0:還沒被預(yù)定?1:?已經(jīng)被預(yù)定)------------");
for(int?i=0;inum.length;i++){
System.out.println("");
for(int?j=0;jnum[i].length;j++)
System.out.print("??"+num[i][j]);
}
/**
?*?顧客輸進(jìn)的排數(shù)必須符合0?or?1
?*/
do{
System.out.print("\nInput?fg1:?");
fg1=input.nextInt();
}?while(fg10||fg12);
/**
?*?顧客輸進(jìn)的列數(shù)必須符合?0-9
?*/
do{
System.out.print("Input?fg2:?");
fg2=input.nextInt();
}?while(fg20||fg29);
if(num[fg1][fg2]==1){
System.out.print("\n已經(jīng)被人訂了,不好意思");
}else{
System.out.print("\n你要訂的座位是:?"+?fg1+"排??"+?fg2+"列,?票價(jià):");
if(fg1==1)
System.out.print("10000文");
else
System.out.print("20000文");
}
}
/**
?*?隨即設(shè)置電影院的座位被預(yù)定
?*/
public?static?void??randomBook(int[][]?num){
for(int?i=0;inum.length;i++){
for(int?j=0;jnum[i].length;j++){
//隨機(jī)設(shè)置
num[i][j]=(int)(Math.random()*2);
}
}
}
}
給座位弄一個(gè)狀態(tài)列 記錄座位的狀態(tài) 例入 0未選擇 1 已選擇 之類的
您需要用簡(jiǎn)潔明了的文字在這將疑惑描述清楚,讓回答者更好地了解您的困惑
比如您的問題還沒有敘述清晰,請(qǐng)點(diǎn)擊展開“問題補(bǔ)充”,
清楚描述您的疑惑,
,并能夠加入圖片來幫助回答者更加明了的知道你的疑惑,
更有針對(duì)性地幫助你。
我們可以針對(duì)你的需求提供一份適用于初學(xué)者的代碼,或?qū)W生版/個(gè)人版/專業(yè)版/企業(yè)版
您需要留下Email地址,以便回答者更好的解決你的問題
為獲取幫助,您可以發(fā)送消息到:六伍柒幺伍六幺五('幺'讀yao,一聲,'柒'同 '七'),QQ
您還可以通過向我們發(fā)起求助的方式主動(dòng)去尋求我們的幫助。
如果您對(duì)回答不甚滿意,希望繼續(xù)對(duì)回答者進(jìn)行追問了解詳情時(shí),
可點(diǎn)擊回答內(nèi)容下方的“繼續(xù)追問”按鈕
請(qǐng)您切記為您的問題選擇一個(gè)最恰當(dāng)?shù)姆诸悾?/p>
因?yàn)橹挥羞@樣,您的問題才能在第一時(shí)間內(nèi)得到正確解答。
交易提醒:預(yù)付訂金是詐騙
網(wǎng)站標(biāo)題:java電影代碼 java影視源碼
文章鏈接:http://jinyejixie.com/article6/dddhsog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、品牌網(wǎng)站建設(shè)、微信公眾號(hào)、營(yíng)銷型網(wǎng)站建設(shè)、App設(shè)計(jì)、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)