2015-01-14 9 views
9

JavaアプレットをJava FX WebViewに表示しようとしています。しかし、私が理解できた限り、それは不可能です。WebViewのJavaアプレット

Java FX WebViewを使用しないと、これをどのように達成できますか?

+5

役立つことを願っていますhttp://www.docjar.com/html/api/sun/applet/AppletViewer.java.html

を:) – eckes

+0

それはなぜですか? :) – Maeh

+2

できません。 'WebView'はwebkitを使ってWebページをレンダリングします。それで全部です。 Javaアプレット(pdf、flashなど)を含むプラグインはサポートされていません。 –

答えて

3

私は以前これを実践してきました。私は最終的に性能問題のために作っていたビデオゲーム用のJavaアプレットとしてJavaFXをあきらめましたが、他の多くの目的にはまだ有効です。ここに私が使った設定があります。

<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> 

これが役に立ちます。フォローアップの質問がある場合はお知らせください。

+0

JavaFXアプリケーションをWebサイトに埋め込む方法に関するチュートリアルを行いました:http://stackoverflow.com/questions/27958019/embed-a-javafx-application-in- a-html-webpage – Roland

+0

質問にお答えいただきありがとうございます。しかし、WebView *、* Java *アプリケーションの外部Webサイトからアプレットを表示したい – Maeh

1

JavaFX Web Viewはアプレットをサポートしていないため、動作しません。 JCEFまたはJWebBrowserのような別の埋め込み型ブラウザをNativeSwingまたは他のコンポーネントから考えてください。

0

sun.applet.AppletViewerを使用してwebviewからアプレットを開くことができます。 AppletViewerを使って、どのように行うかを理解することができます。ここで

は、あなたが何か見つかったURLである - 私はそれはあなたが勇敢な男です、あなた

関連する問題