我正在将旧的旧版应用程序从浏览器小程序迁移到通过JNLP启动的基于JFrame的JWS应用程序。
在applet基本应用程序中,我使用context.showDocument()
打开了任意大小的浏览器窗口,并配置为不显示条形(菜单栏,状态栏,滚动条)和不可调整大小(通过Javascript())。
但是现在这不起作用了。
我可以在JavaWebStart / JNLP应用程序中解决此问题吗?
我将需要打开一个HTML页面,并在一个没有普通栏的大小窗口中显示竞争内容。
现在,当我使用showDocument()
表单JNLP basicServices时,我不能这样做(没有JavaScript)。
答案 0 :(得分:2)
与普通的Java应用程序一样,通常应该可以在Javafx Web视图中预览html文件。但是,我不确定此操作所需的jnlp权限:
private void previewHtml(String url) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
JFrame fr = new JFrame();
final JFXPanel fxPanel = new JFXPanel();
fr.add(fxPanel);
fr.setSize(1000, 600);
fr.setVisible(true);
Platform.runLater(new Runnable() {
@Override
public void run() {
final Group rootGroup = new Group();
final Scene scene = new Scene(rootGroup, 1000, 600, Color.WHITE);
final WebView webView = WebViewBuilder.create().prefHeight(600).prefWidth(1000).build();
webView.getEngine().load(url);
rootGroup.getChildren().add(webView);
fxPanel.setScene(scene);
fxPanel.show();
}
});
}
});
}
//You can add the following code to a button actionListener:
//prevew html from classpath:
previewHtml(getClass().getResource("/classpath-file.html").toExternalForm());
//prevew html from url:
previewHtml("https://stackoverflow.com/");