https://www.myziyuan.com/
- 世源网络科技
- import java.awt.BorderLayout; 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; // 标示是否是第一次打开播放器 boolean first = true; // 标示是否需要循环 boolean loop = false; // 文件当前目录 String currentDirectory; // 构造方法 public JMFMediaPlayer(String title) { super(title); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e){ // 用户点击窗口系统菜单的关闭按钮 // 调用dispose以执行windowClosed dispose(); } public void windowClosed(WindowEvent e){ if (player != null){ // 关闭JMF播放器对象 player.close(); } System.exit(0); } }); // 创建播放器的菜单 JMenu fileMenu = new JMenu("文件"); JMenuItem openMemuItem = new JMenuItem("打开"); openMemuItem.addActionListener(this); fileMenu.add(openMemuItem); // 添加一个分割条 fileMenu.addSeparator(); // 创建一个复选框菜单项 JCheckBoxMenuItem loopMenuItem = new JCheckBoxMenuItem("循环", 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 { // 设置界面的外观,为系统外观 UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); SwingUtilities.updateComponentTreeUI(this); } catch (Exception e) { e.printStackTrace(); } this.setVisible(true); } /** * 实现了ActionListener接口,处理组件的活动事件 */ public void actionPerformed(ActionEvent e) { if (e.getActionCommand().equals("退出")) { // 调用dispose以便执行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){ // 关闭已经存在JMF播放器对象 player.close(); } try { // 创建一个打开选择文件的播放器 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("无法创建播放器."); return; } first = false; this.setTitle(fileDialog.getFile()); // 播放器的控制事件处理 player.addControllerListener(this); // 预读文件内容 player.prefetch(); } /** * 实现ControllerListener接口的方法,处理播放器的控制事件 */ public void controllerUpdate(ControllerEvent e) { // 调用player.close()时ControllerClosedEvent事件出现。 // 如果存在视觉部件,则该部件应该拆除(为一致起见, // 我们对控制面板部件也执行同样的操作) 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; } // 如果是媒体文件到达尾部事件 if (e instanceof EndOfMediaEvent) { if (loop) { // 如果允许循环,则重新开始播放 player.setMediaTime(new Time(0)); player.start(); } return; } // 如果是播放器预读事件 if (e instanceof PrefetchCompleteEvent) { // 启动播放器 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(); } } // 处理“循环”复选框菜单项的点击事件 public void itemStateChanged(ItemEvent e) { loop = !loop; } public static void main(String[] args){ new JMFMediaPlayer("JMF媒体播放器"); } } 试试吧,我这里运行正常
- 2021-03-25 15:55:01
- 售微星二开源码
- 刚好给人回答了,copy一份给你吧!我自己整理的!提示你一下,看视频教程不要看一个机构的,多找几个!如:尚学堂J2SE是最好的,而JSP则MLDN的最好,至于servlet,则数韩顺平老师录制的了!关于框架,struts尚学堂讲得很不错,传智的还行,但过于理论化,不建议初学者,hibernate其实尚学堂与传智都不怎么样,刚入门的会听不太懂,但传智的比尚学堂的讲得要好一点,看一下书,再听听视频就可以了,尚学堂的hibernate给人的感觉有点逻辑不清楚,spring用尚学堂的吧,其他的免了。根据你的要求列出一些经典视频教程供参考:J2SE:也就你所说的jdk开发这块的尚学堂马士兵的视频教程是目前最好的,附下载地址http://www.ibeifeng.com/read.php?tid=1192amp;u=2660学习完这个你可以同时学习一下jdk5.0新特性、注解等内容进阶练习J2EE:javanbsp;web开发jsp:目前最好的是MLDN的jsp视频教程,附下载地址http://www.ibeifeng.com/read.php?tid=2283amp;u=2660学习这个的时候建议你同时学习一下韩顺平的servlet视频教程http://www.ibeifeng.com/read.php?tid=12268amp;u=2660通过MLDN的视频你会见到DAO、MVC等内容,你可以选择学习框架了也就是SSH:strutsnbsp;hibernatenbsp;spring尚学堂struts视频:http://www.ibeifeng.com/read.php?tid=4276amp;u=2660传智hibernate视频:http://www.ibeifeng.com/read.php?tid=10420amp;u=2660spring视频教程我提供的链接里面也有,你注册一下就行了。。不提供了搜索太累J2ME的这个网站上也有,你自己注册一下搜索吧,不想打了不知道是否满意,一个字一个字打上去的,希望对你有所帮助!
- 2021-02-12 14:44:57
- 飞创科技
- 谁有java教程 我要视频 清晰,详细的 不是视频的也行 容易看懂就行了 现在暂时没分悬赏 等有分了 给分采纳答案!,java方面的视频教程教程1:编程高手之即学即会java入门视频教程【大小:547MB 】教程2:Java无难事 Java技术与应用教程+源码+ppt【5.46G avi格式】教程3:孙老师JAVA入门到精通视频教程【大小:418MB 格式:swf】教程4:郝老师Java自学教程 【大小:3.5G 格式:avi】教程5:上海交大Java初级编程基础视频教程 【大小:1.09G 格式:AVI】教程6:马老师Java进阶实战视频教程+源码+ppt 【大小3GB 格式:AVI】教程7:Java工程师培训Javase视频教程 【大小:7G 格式:AVI】教程8:Java数据库接口JDBC视频教程 【大小:640MB 格式:AVI】教程9:java工程师培训教程之j2ee视频教程 【7GB 网页格式】教程10:j2ee实战视频教程 【大小:2.47G】教程11:马老师JAVA教程之Spring分层架构开发教程【2G AVI格式】教程12:马老师JAVA教程之Struts 2架构教程+源码【1.55G AVI格式】教程13:马老师JAVA教程之Hibernate架构教程+源码【1.55G AVI格式】教程14:java工程师培训教程之Hibernate架构教程【1.65G 】教程15:java工程师培训教程之spring架构教程【1.64G】教程16:java工程师培训教程之Struts 2架构教程【1.89G 】教程17:Java项目开发过程实录视频文件 【大小:2G 格式:exe】教程18:JAVA开发实战经典视频教程+源码 【大小:3.68G 格式:wmv】 教程地址:http://www.henanfilm.cn/view-2540-1.html
- 2021-02-12 14:44:57