1

http://docs.oracle.com/javafx/2.0/webview/jfxpub-webview.htm でjavafx2.1にWebページを表示しようとしましたが、Webページが表示されません。 javafx-antツールを使用してアプリケーションに署名しました(このリンクでは、javafxアプリケーションの署名について説明しています。ブラウザのJavaFx2.0のWebView内にjavascriptWebページを表示するにはどうすればよいですか)。

ブラウザでjavafxを実行しているときはWebページを表示できますが、アプリケーションをjavaスタンドアロンアプリケーションとして実行しているときは表示できません。

コードは次のとおりです。

ブラウザコントロール:

public class Browser extends Region {

    final WebView browser = new WebView();
    final WebEngine webEngine = browser.getEngine();

    public Browser() {
        //apply the styles
        getStyleClass().add("browser");
        // load the web page
        webEngine.load("http://www.google.com");
        //add the web view to the scene
        getChildren().add(browser);


    }
    //...
}

表示する:

  Stage stage = new Stage();

    stage.setTitle("Web View");
    Scene scene = new Scene(new Browser(),590,400, Color.web("#666970"));
    stage.setScene(scene);
    scene.getStylesheets().add("/com/sai/javafx/calendar/styles/BrowserToolbar.css");  

  stage.show();

どんなアイデアでも大歓迎です。

4

2 に答える 2

2

サンプルアプリは次のとおりです。

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.web.WebView;
import javafx.stage.Stage;

public class WebViewSample extends Application {
  public static void main(String[] args) { launch(args); }
  @Override public void start(final Stage primaryStage) {
    final WebView webView = new WebView(); 
    webView.getEngine().load("http://docs.oracle.com/javafx/");
    primaryStage.setScene(new Scene(webView));
    primaryStage.show();
  }
}

これがブラウザでの外観です。内側のスクロールペインはJavaFXWebViewでレンダリングされたブラウザであり、外側のテキストはJavaFXWebViewを埋め込んだhtmlページです。

ブラウザのWebViewサンプル画像

それを実行するために、 NetBeansナイトリービルドJavaFX 2.2b4JDK7u6ea、Win7、IE9を使用しました。

NetBeansの手順は次のとおりです。

  1. 新しいプロジェクト| JavaFX | JavaFXアプリケーション
  2. サンプルアプリコードを使用してJavaファイルを作成します。
  3. プロジェクトを作成したら、[プロジェクト]、[プロジェクト]の順に右クリックします。プロパティ
    • ビルド| 展開| 「無制限アクセスのリクエスト」にチェックを入れます
    • 実行| ラジオをチェック「ブラウザで」実行
    • プロパティの変更を受け入れます
  4. F6キーを押して、ブラウザでアプリケーションを実行します。
  5. セキュリティダイアログの警告を受け入れます。
  6. WebViewがロードされるまで数秒待ちます。
于 2012-04-25T05:51:32.623 に答える
0

私の知る限り、私の問題を解決する唯一の方法は、.htmlファイルをローカルにロードすることです(他のドメインからWebページをロードすることはできず、このhtmlファイルは外部リンクを参照してはなりません)

public Browser() {
   //apply the styles
   getStyleClass().add("browser");        
   // load the web page
   final URL urlHello = Browser.class.getResource("sample.html");
   webEngine.load(urlHello.toExternalForm());
}

表示する:

Stage stage = new Stage();

stage.setTitle("Web View");
Scene scene = new Scene(new Browser(),590,400, Color.web("#666970"));
stage.setScene(scene);
scene.getStylesheets().add("/com/sai/javafx/calendar/styles/BrowserToolbar.css");  

stage.show();
于 2012-04-26T09:23:24.863 に答える