Замена для context.showDocument () в приложении JavaWebStart - PullRequest
0 голосов
/ 01 июля 2018

Я переношу старое унаследованное приложение из апплета браузера в JWS-приложение на основе JFrame, запущенное через JNLP.
В базовом приложении апплета я использовал context.showDocument(), чтобы открывать окна браузера любого размера и настраивал, чтобы он не отображал панели (строка меню, строка состояния, полоса прокрутки) и не изменял размер (с помощью Javascript ()).

Но теперь это не работает.
Есть ли обходной путь для этого, который я могу сделать в приложении JavaWebStart / JNLP?
Мне нужно было бы открыть страницу HTML и отобразить контекст в размерном окне без обычных полос. Когда я использую базовую службу JNLP showDocument(), теперь я не могу этого сделать (без JavaScript).

1 Ответ

0 голосов
/ 12 июля 2018

Обычно должна быть возможность предварительного просмотра html-файла в веб-представлении javafx, как в обычном java-приложении. Я не уверен насчет разрешений 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/");
...