我尝试按照此处描述的说明:http://docs.oracle.com/javafx/2.0/webview/jfxpub-webview.htm在javafx 2.1上显示网页,但网页不显示虽然我已经使用javafx-ant工具签署了我的应用程序(此链接提到了签署javafx申请How can I display a javascript webpage inside a WebView in JavaFx 2.0 in Browser)。
我可以在浏览器上运行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();
任何想法都会受到高度赞赏。
答案 0 :(得分: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页面。
要运行它,我使用了NetBeans nightly build,JavaFX 2.2b4,JDK7u6ea,Win7,IE9。
NetBeans中的步骤是:
答案 1 :(得分: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();