`

在swing界面中嵌入javaFX运行的视频

阅读更多
javaFx2.0的出现让我迅速把注意力又转回javaFx,oracle做的不错,实现javaFX可以用钟爱的java了,看了它的实例也非常不错。
正好我在swing开发中需要嵌入视频,看javaFx的实例里就有,于是仿照这个实现一下。
其间经历了不少挫折。但最后还是搞成了。
写一下嵌入的注意事项:
1、javaFx实例中的AdvancedMedia是 extends的 javaFX里的Application这个类。Application负责掌管了视频的几个线程的启动等。
2、swing要嵌入FX组件只有一种方式就是用JFXPanel嵌入sense。这样的矛盾就不能嵌入我需要的视频了?
3、经过研究发现,可以通过AdvancedMedia继承一个applet的方式实现。
   @Override
    public void init() {
        /*
         * Set the Nimbus look and feel
         */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /*
         * If Nimbus (introduced in Java SE 6) is not available, stay with the
         * default look and feel. For details see
         * http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(NewJApplet.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(NewJApplet.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(NewJApplet.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(NewJApplet.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>
        initComponents();

        jfxp = new JFXPanel();
        jfxp.setPreferredSize(new Dimension(400, 300));
        jPanel1.setLayout(new BorderLayout());
        jPanel1.add(jfxp, BorderLayout.CENTER);
        /*
         * Create and display the applet
         */

        Platform.runLater(new Runnable() {
            @Override
            public void run() {
                
                createScene();
            }
        });


       
    }

呵呵,这样巧妙的通过run方法里加入了sense。终于实现了。
附上我实现的源码,件附件
还有我的qq:471016340探讨javaFX的技术问题
分享到:
评论
3 楼 herosforce 2018-01-17  
MEDIA_URL = NewJApplet.class.getName().getClass().getResource("/Videos/The_Little_Matchgirl_Start.mp4").toString();

我的媒体文件指向目录, 放在src下的 Videos里 没错啊
2 楼 herosforce 2018-01-17  
java.lang.ExceptionInInitializerError
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at sun.applet.AppletPanel.createApplet(Unknown Source)
at sun.applet.AppletPanel.runLoader(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at com.mycaopan.includeDataVersion.gui.NewJApplet.<clinit>(NewJApplet.java:40)
... 9 more
1 楼 herosforce 2018-01-17  
不行啊 播放mp4文件 跑不通啊 空指针异常

相关推荐

    JAVAFX的贪吃蛇以及可以用Swing打开的JAVAFX的贪吃蛇

    这使得一个已经使用Swing构建的应用程序可以无缝地添加JavaFX的功能,比如在这个案例中,可能是通过Swing界面启动JavaFX的贪吃蛇游戏。 6. **文件名分析**:SnakeGame.java很可能是主游戏类,包含了游戏的初始化、...

    在SWING、SWT中嵌入浏览器

    在Java编程环境中,SWING和SWT(Standard Widget Toolkit)是两种常见的图形用户界面(GUI)库,用于创建桌面应用程序。然而,有时我们可能需要在这些应用中集成Web浏览功能,比如显示网页或者运行Web应用。这篇博客...

    基于SWING+JAVAFX的MP3播放器

    在Java编程环境中,SWING和JAVAFX是两种常用的图形用户界面(GUI)工具包,用于构建桌面应用程序。本项目结合了两者,创建了一个功能完备的MP3播放器。这种设计方式充分利用了SWING的稳定性和JAVAFX的现代视觉效果,...

    javafx2.0 中文文档.zip

    它内建了对音频和视频的播放支持,包括流媒体,开发者可以轻松地在应用中嵌入多媒体内容。 在部署方面,JavaFX 2.0支持独立于JRE的打包方式,这意味着用户无需安装完整的Java运行环境,只需一个小型的JavaFX运行时...

    javafx-11.0.2 jar.rar

    6. **JavaFX Swing**: 为了让JavaFX与传统的Swing组件兼容,提供了`javafx.swing.jar`,允许在JavaFX应用中嵌入Swing组件,或者在Swing应用中使用JavaFX的部分功能。 7. **JavaFX SWT**: 类似于JavaFX Swing,`...

    JavaFX Script 语言教程(面向Swing 程序员).rar

    3. **丰富的媒体支持**:JavaFX 包含内置的对音频、视频和图像的支持,可以直接在脚本中嵌入多媒体内容,创建丰富的用户体验。 4. **CSS集成**:JavaFX Script 可以直接应用CSS(层叠样式表)来控制界面样式,类似...

    javafx 11 jar包,亲测可用

    - 使用`javafx.swing.jar`,开发者可以在JavaFX场景图中嵌入Swing组件,反之亦然,实现两种框架之间的交互。 3. **内嵌浏览器功能**: - `javafx.web.jar`提供了Web引擎,允许在JavaFX应用中内嵌一个Web浏览器。...

    swing 嵌入word

    在Java编程领域,Swing和 SWT (Standard Widget Toolkit) 是两种常见的GUI(图形用户界面)工具包。Swing是纯Java实现的,提供了丰富的组件和功能,而SWT则是基于操作系统原生控件的,因此它能提供更好的性能和与...

    SEGD_javaFx_SEGD_

    9. **Swing集成**:如果需要与现有的Swing应用集成,JavaFX提供了一个SwingNode,可以将JavaFX组件嵌入到Swing界面中。 在"SEGD_javaFx_SEGD_"项目中,开发者可能使用了上述的一些特性来创建用户界面。通过查看源...

    JavaFX学习资料总结

    JavaFX可以与传统的Swing组件混合使用,通过JFXPanel将JavaFX场景嵌入到Swing容器中,实现两者的无缝融合。 九、JavaFX 2.0的新特性 1. CSS 2.1支持:JavaFX 2.0增强了对CSS的支持,包括更多样式选择器和属性。 2....

    javafx sample code

    `SwingNode` 类使得这种集成成为可能,允许在JavaFX scenegraph中嵌入Swing组件。 3. **IssueTrackingBiDi** 和 **IssueTrackingLite**: 这两个示例可能涉及到创建一个简单的问题跟踪系统,可能涵盖了事件处理、...

    JavaFX初学者指南

    5. **Web and Network Services**:网络服务层支持网络请求等功能,同时允许在JavaFX应用中嵌入HTML页面。 #### 四、JavaFX基础知识 1. **Hello World示例**:编写第一个JavaFX程序通常从创建一个简单的“Hello ...

    javafx2.0 中文文档.rar

    12. **JavaFX与Swing集成**:JavaFX 2.0提供了与Swing组件的互操作性,使得在既有Swing应用中集成JavaFX成为可能。 13. **部署选项**:JavaFX支持JAR、Web Start和嵌入到Web浏览器的部署方式,适应不同场景的需求。...

    JavaFX高级教程:部署JavaFX2.0应用

    需要在 HTML 文件中嵌入 JavaFX 应用程序,并在浏览器中启用 Java 支持。 JavaFX and JavaScript ------------------------- JavaFX 应用程序可以与 JavaScript 代码集成,使用 JavaScript 语言来调用 JavaFX 应用...

    JavaFX 2.2 API英文参考文档CHM版2012

    JavaFX是Oracle公司推出的一种用于构建富客户端应用的平台,特别是在Java 7及以后的版本中,它被集成为核心部分,逐步替代了传统的Swing和SWT组件,成为Java GUI开发的重要工具。JavaFX 2.2 API英文参考文档CHM版...

    swing 结合css

    在Swing中,你可以创建丰富的用户界面,包括按钮、文本框、菜单等组件。而CSS(Cascading Style Sheets)是用于描述网页及应用程序用户界面外观和表现的语言。在HTML和Web开发中,CSS被广泛用来控制页面布局和样式。...

    javafx整理资料

    JavaFX从Java 8版本开始内置在JDK中,但从Java 11开始被剥离,需要单独安装OpenJFX库。对于不同操作系统,如Windows、Mac OS和Linux,安装方式略有差异。 5. 开发工具 开发JavaFX应用,可以使用Eclipse、IntelliJ...

    包含javafx17 所有jar包

    - `javafx.swing.jar`:允许JavaFX与Swing组件互操作,方便在现有Swing应用中集成JavaFX功能。 - `javafx-swt.jar`:与Java SWT(Standard Widget Toolkit)集成,使得JavaFX可以在Eclipse或RCP(Rich Client ...

    Learn JavaFX 8

    本章讲解了如何在 JavaFX 应用程序中嵌入 Web 内容,并介绍了 WebView 控件的功能。 ##### 第 17 章:理解 2D 形状 本章介绍了 JavaFX 提供的 2D 形状绘制功能,包括各种基本形状的绘制方法。 ##### 第 18 章:...

Global site tag (gtag.js) - Google Analytics