私はJavaFXフレームワークを使用してデスクトップアプリケーションを開発しました。私のメインウィンドウにはタブペーンが含まれています。魔女には多くのサブウィンドウ(タブ)があります。 ユーザーが特定のサブウィンドウに対してCRUD操作を行うと、データベースの内容が変更されます。結果として、他のサブウィンドウは、サブウィンドウによって更新されたコンテンツを使用することができ、サブウィンドウはそれを変更する。 したがって、データベースの変更が発生したときに、他のサブウィンドウでUIを更新するように書いています。ここでデータベースの内容が変更されたときのJavaFXの更新タブ
は、メイン・ウィンドウ構造をillusatres FXMLファイルです:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.40" xmlns:fx="http://javafx.com/fxml/1">
<children>
<TabPane layoutX="38.0" layoutY="14.0" prefHeight="400.0" prefWidth="600.0" tabClosingPolicy="UNAVAILABLE" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<tabs>
<Tab text="subWindow 1">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0">
<children>
<TableView prefHeight="371.0" prefWidth="600.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<columns>
<TableColumn prefWidth="75.0" text="C1" />
<TableColumn prefWidth="75.0" text="C2" />
</columns>
</TableView>
</children>
</AnchorPane>
</content>
</Tab>
<Tab text="subWindow 2">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0">
<children>
<ComboBox prefWidth="150.0" />
</children>
</AnchorPane>
</content>
</Tab>
<Tab text="subWindow 3">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
</content>
</Tab>
<Tab text="subWindow n">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
</content>
</Tab>
</tabs>
</TabPane>
</children>
</AnchorPane>