Существует вкладка tabPane, которая имеет две панели, A и B, которые созданы fxml. Когда программа запускается, она вызывает метод initialize () для ее инициализации. Функция, которую я буду реализовывать, находится в методе Но я не могу понять свои потребности. Эффект, которого я хочу достичь, заключается в том, что при запуске программы, когда я щелкаю по интерфейсу B, запускается событие, то есть интерфейс B. Когда активация видна, выполняется определенный метод.
public class TestLogPane extends AnchorPane implements Initializable {
@Override
public void initialize(URL location, ResourceBundle resources) {
webView.getEngine().load("https://wwww.xxx.com/member/login.jhtml");
webView.getEngine().getLoadWorker().stateProperty()
.addListener((obs, oldValue, newValue) -> {
if (newValue == Worker.State.SUCCEEDED) {
if (webView.getEngine().getLocation().contains("item.taobao.com")) {
System.out.println(webView.getEngine().getLocation());
}
}
});
}
}
<TestLogPane fx:id="anchorPane" prefHeight="814.0" prefWidth="1414.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.fendo.huasheng.component.pane.TestLogPane">
<children>
<WebView fx:id="webView" prefHeight="814.0" prefWidth="1414.0" />
<Button layoutX="1043.0" layoutY="22.0" onAction="#onGet" mnemonicParsing="false" prefHeight="48.0" prefWidth="80.0" text="Go" />
<Button layoutX="980.0" layoutY="22.0" onAction="#onLoad" mnemonicParsing="false" prefHeight="48.0" prefWidth="80.0" text="Load" />
</children>
</TestLogPane>
Tabpane fxml определяется следующим образом
<HomePane xmlns="http://javafx.com/javafx"
xmlns:fx="http://javafx.com/fxml"
fx:controller="com.fendo.huasheng.component.pane.HomePane"
prefHeight="800.0" prefWidth="1024.0">
<fx:define>
<fx:include source="TestLogPane.fxml" fx:id="testLogPane" />
<fx:include source="xxxx.fxml" fx:id="xxxx" />
</fx:define>
<children>
<BorderPane prefHeight="750.0" prefWidth="900.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="2.0">
<center>
<TabPane prefHeight="750.0" prefWidth="757.0" BorderPane.alignment="CENTER">
<tabs>
<Tab text="xxxx" content="$xxxx"></Tab>
<Tab text="Taobao" content="$testLogPane"></Tab>
</tabs>
</TabPane>
</center>
</BorderPane>
</children>
</HomePane>