Javafx从嵌套控制器访问父控制器

时间:2015-01-25 14:12:20

标签: java javafx-2

我的主控制器是frameController,我还有4个具有ObservableList的控制器。我计划从另一个控制器到frameController进行4列表声明。 好吧,这是我的帧控制器

public class frameController extends BorderPane {
    @FXML public BorderPane main;
    @FXML public ProductPSController productPS;
    @FXML public OrderPSController orderPS;
    @FXML public OrderSUController orderSU;
    @FXML public ProductSUController productSU;
    static final Logger logger = LogManager.getLogger(frameController.class.getName());
    Stage p;

我需要添加此行

public ObservableList<ProductPS> data = FXCollections.observableArrayList();

这是我的fxml

<fx:root type="javafx.scene.layout.BorderPane" xmlns:fx="http://javafx.com/fxml" prefWidth="1024" fx:id="main" >
    <padding>
            <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
    </padding> 
    <top>
    <MenuBar fx:id="menuBar" >
      <menus>
         <Menu text="Dane">
            <items>
               <MenuItem text="Importuj produkty Subiekta do CSV"  onAction="#handleNew"/>
            </items>
         </Menu>
         <Menu text="Pomoc">
            <items>
               <MenuItem text="O programie"  onAction="#About"/>
            </items>
         </Menu>
         </menus>
         </MenuBar>
         </top>
         <center>
        <TabPane>
        <tabs>
            <Tab text="ProduktyPS">
                <content>
                    <ProductPSController fx:id="productPS" ></ProductPSController>
                </content>
            </Tab>
            <Tab text="ProduktySU">
                <content>
                    <ProductSUController fx:id="productSU" ></ProductSUController>
                </content>
            </Tab>
            <Tab text="ZamówieniaPS">
                <content>
                    <OrderPSController fx:id="orderPS" ></OrderPSController>
                </content>
            </Tab>
            <Tab text="ZamówieniaSU">
                <content>
                    <OrderSUController fx:id="orderSU" ></OrderSUController>
                </content>
                </Tab>


                <!-- 


             <Tab text="ProduktyWF">
                <content>
                    <ProductWFController fx:id="productWF" ></ProductWFController>
                </content>
            </Tab>
            -->

            </tabs>
        </TabPane>
    </center>
</fx:root>

我的一个控制器

public class ProductPSController extends BorderPane{
    @FXML public TableColumn<ProductPS, String> produkt;
    @FXML public TableColumn<ProductPS, String> symbol;
    @FXML public TableColumn<ProductPS, String> atrybuty;
    @FXML public TableColumn<ProductPS, Integer> id;
    @FXML public TableColumn<ProductPS, Integer> stock;
    @FXML public TableColumn<ProductPS, Integer> count;
    @FXML public TableColumn<ProductPS, Integer> price;
    @FXML public TableView <ProductPS> tab;
    @FXML public BorderPane produkty;

现在如何从ProductPSController中的frameController访问数据列表 我尝试使用produkty.getParent()但返回null。

0 个答案:

没有答案