Java WebView 中的小程序

Java Applet in WebView

我正在尝试在 Java FX WebView 中显示 Java Applet。但是,据我所知,这是不可能的。

如果没有 Java FX WebView,我该如何实现?

我以前搞过这个。由于性能问题,我最终放弃了 JavaFX 作为我正在制作的视频游戏的 Java Applet,但它对于许多其他目的仍然有效。这是我使用的配置。

<html><head>
  <SCRIPT src="http://java.com/js/dtjava.js"></SCRIPT>
<script>
    function launchApplication(jnlpfile) {
        dtjava.launch(            {
                url : 'MyGame.jnlp'
            },
            {
                javafx : '2.2+'
            },
            {}
        );
        return false;
    }
</script>

<script>
    function javafxEmbed() {
        dtjava.embed(
            {
                url : 'MyGame.jnlp',
                placeholder : 'javafx-app-placeholder',
                width : 1024,
                height : 768
            },
            {
                javafx : '2.2+'
            },
            {}
        );
    }
    <!-- Embed FX application into web page once page is loaded -->
    dtjava.addOnloadCallback(javafxEmbed);
</script>

</head><body>
<h2>Test page for <b>MyGame</b></h2>
  <b>Webstart:</b> <a href='MyGame.jnlp' onclick="return launchApplication('MyGame.jnlp');">click to launch this app as webstart</a><br><hr><br>

  <!-- Applet will be inserted here -->
  <div id='javafx-app-placeholder'></div>
</body></html>

我用 JNLP 来做这个。这是我的 JNLP 文件。

<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0" xmlns:jfx="http://javafx.com" href="MyGame.jnlp">
  <information>
    <title>MyGame</title>
    <vendor>Jose</vendor>
    <description>Sample JavaFX 2.0 application.</description>
    <icon href="C:\Users\jose\Dropbox\MyGame\java7\MyGame/MyGame.ico" />
    <offline-allowed/>
  </information>
  <resources>
    <jfx:javafx-runtime version="2.2+" href="http://javadl.sun.com/webapps/download/GetFile/javafx-latest/windows-i586/javafx2.jnlp"/>
  </resources>
  <resources>
    <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
    <jar href="MyGame.jar" size="27670609" download="eager" />
  </resources>
  <applet-desc  width="1024" height="768" main-class="com.javafx.main.NoJavaFXFallback"  name="MyGame" >
    <param name="requiredFXVersion" value="2.2+"/>
  </applet-desc>
  <jfx:javafx-desc  width="1024" height="768" main-class="game.Game"  name="MyGame" />
  <update check="background"/>
</jnlp>

希望这对您有所帮助。如果您有任何后续问题,请告诉我。

JavaFX Web View 不支持小程序,因此它不适合您。您应该考虑另一个可嵌入的浏览器,例如 JCEF or JWebBrowser from NativeSwing 或其他组件

您可以使用sun.applet.AppletViewer通过webview打开小程序。通过 AppletViewer 您可以了解您将如何做。

这是您发现的 URL - http://www.docjar.com/html/api/sun/applet/AppletViewer.java.html

希望对你有所帮助