如何在不加载URL的情况下从JPanel调整子WebView / JFXPanel的大小?

时间:2015-07-15 08:20:13

标签: java swing webview resize jpanel

我在JPanel中有TabbedPane,其中包含JFXPanel WebView,我在面板上设置ComponentListener,以便每次调整面板大小时,调整其子项JFXPanelWebView的大小。我想要的是每次调整面板大小时,URL(网站)中的内容都不会被加载。我希望内容保持加载状态,只是调整大小。

正在加载的内容是网站的主页,例如当我调整面板大小时,我被重定向到该主页,我设置为URL,我不想丢失页面,我现在打开。

避免重新加载的第二个原因是,有时它会持续几秒钟,我希望避免这种过载。

我最初尝试使用静态变量以便只打开一次网址,但在调整大小时,页面不再显示...只显示一个白页。

以下是代码:

public class RtcOverview extends JPanel {

String url = "http://10.112.85.142:8080/petshopJSF/";

public RtcOverview() {
    super();
    this.setVisible(true);
    this.doLayout();
    this.add(jfxPanel);
    this.addComponentListener(new java.awt.event.ComponentAdapter() {
        public void componentResized(ComponentEvent e) {
            initComponents();
        }
    });
}

private void initComponents() {
    Platform.runLater(new Runnable() {
        @Override
        public void run() {
            final WebView view = new WebView();
            int width = getParent().getWidth();
            int height = getParent().getHeight();

            view.setMinSize(width, height);
            view.setPrefSize(width, height);

            engine = view.getEngine();
            engine.load(url);

            Scene scene = new Scene(view);
            jfxPanel.setScene(scene);

            Platform.setImplicitExit(false);
        }
    });
}
}

0 个答案:

没有答案