JavaFX在应用程序窗口上发布更改

时间:2016-04-26 21:56:52

标签: java javafx publish-subscribe event-bus

我对如何发出可以被我的应用程序中的任何组件接收的通知感到有点困惑。让我们假设我有一个这样的应用程序: 主窗口有一个带有3个选项卡的tabpane,每个选项卡都有一个窗口,并由一个控制器拥有。因此,我希望能够通过特定选项卡中的更改通知我的应用程序中的其他选项卡。

我试图使用Google Guava,但我找不到一种方法来获得对控制器的尊重。

以下代码说明了上述内容:

<?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="64.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="Tab1">
            <content>
              <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
            </content>
          </Tab>
          <Tab text="Tab2">
            <content>
              <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
            </content>
          </Tab>
            <Tab text="Tab3">
               <content>
                  <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0" />
               </content>
            </Tab>
        </tabs>
      </TabPane>
   </children>
</AnchorPane>

0 个答案:

没有答案