1

我尝试按照此处描述的说明进行操作:http ://docs.oracle.com/javafx/2.0/webview/jfxpub-webview.htm 在 javafx 2.1 上显示网页,但网页不显示虽然我已经使用 javafx-ant 工具签署了我的应用程序(此链接提到了签署 javafx 应用程序如何在浏览器中的 JavaFx 2.0 中的 WebView 中显示 javascript 网页)。

在浏览器上运行 javafx 时我可以查看网页,但在将应用程序作为 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();
  }
}

这是它在浏览器中的样子,内部滚动窗格是 JavaFX WebView 呈现的浏览器,外部文本是嵌入 JavaFX WebView 的 html 页面。

浏览器示例图像中的 WebView

为了运行它,我使用了NetBeans nightly buildJavaFX 2.2b4JDK7u6ea、Win7、IE9。

NetBeans 中的步骤是:

  1. 新项目 | JavaFX | JavaFX 应用程序
  2. 使用示例应用程序代码创建一个 Java 文件。
  3. 创建项目后,右键单击项目 | 特性
    • 构建 | 部署 | 勾选“请求无限制访问”
    • 运行 | 检查收音机运行“在浏览器中”
    • 可以接受属性更改
  4. 按 F6 在浏览器中运行应用程序。
  5. 接受任何安全对话框警告。
  6. 等待几秒钟以加载 WebView。
于 2012-04-25T05:51:32.623 回答
0

据我所知,解决我的问题的唯一方法是在本地加载.html文件(不能从其他域加载网页,并且这个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 回答