我正在创建一个应用程序,在应用程序中我有三个选项卡,一个是'新闻'选项卡,我只是想加载一个网页。
到目前为止我的代码:
import javafx.application.Platform;
import javafx.embed.swing.JFXPanel;
import javafx.scene.Scene;
import javafx.scene.web.WebView;
import javafx.scene.layout.BorderPane;
public class BrowserPane extends JFXPanel{
public BrowserPane() {
final BrowserPane _this = this;
Platform.runLater(new Runnable() {
@Override
public void run() {
BorderPane borderPane = new BorderPane();
WebView webComponent = new WebView();
System.out.println("Loading URL!");
webComponent.getEngine().load("http://www.google.com.au/");
borderPane.setCenter(webComponent);
Scene scene = new Scene(borderPane,450,450);
_this.setScene(scene);
}
});
}
}
像这样调用:
contentArea.removeAll();
contentArea.revalidate();
contentArea.repaint();
newsPane = new BrowserPane();
newsPane.setBounds(0, 0, 1194, 593);
contentArea.add(newsPane);
contentArea.revalidate();
contentArea.repaint();
现在这很好......第一次点击标签时。但是如果你想稍后返回标签。它似乎没有呈现网页。我想这可能是我每次点击标签时重新绘制contentArea
的方式。
注意:我注意到使用JTabPanel
标签只是JButtons
我们喜欢的样式调用各种功能。