我在JPanel
中有TabbedPane
,其中包含JFXPanel
WebView
,我在面板上设置ComponentListener
,以便每次调整面板大小时,调整其子项JFXPanel
和WebView
的大小。我想要的是每次调整面板大小时,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);
}
});
}
}