Tableview项目依赖项javafx

Tableview项目依赖项javafx,javafx,dependencies,tableview,Javafx,Dependencies,Tableview,晚上好, 我正在做一个项目,我不知道如何配置我的TableView,使之相互依赖。我希望一个tableview中的部件依赖于另一个tableview中的产品。我该怎么做呢?我现在不想使用sql,只是为了让一切尽可能简单。下面列出了代码段: public class maincontroller { private ObservableList<Part> parts = FXCollections.observableArrayList(); private Observab

晚上好,

我正在做一个项目,我不知道如何配置我的TableView,使之相互依赖。我希望一个tableview中的部件依赖于另一个tableview中的产品。我该怎么做呢?我现在不想使用sql,只是为了让一切尽可能简单。下面列出了代码段:

public class maincontroller {

private  ObservableList<Part> parts = FXCollections.observableArrayList();

 private ObservableList<Product> products = FXCollections.observableArrayList();

//code to swap between controllers

  @Override
    public void initialize(URL url, ResourceBundle rb) {

        partsID.setCellValueFactory(new PropertyValueFactory<>("partID"));
        partsName.setCellValueFactory(new PropertyValueFactory<>("name"));
        partsinvlevel.setCellValueFactory(new PropertyValueFactory<>("instock"));
        partscost.setCellValueFactory(new PropertyValueFactory<>("price"));
        parttable.setItems(parts);

        productsID.setCellValueFactory(new PropertyValueFactory<>("productID"));

        productsName.setCellValueFactory(new PropertyValueFactory<>("name"));
        productsInvlevel.setCellValueFactory(new PropertyValueFactory<>("instock"));
        productsprice.setCellValueFactory(new PropertyValueFactory<>("price"));
        producttable.setItems(products);


        parttable.getSelectionModel().selectedItemProperty().addListener((ObservableValue<? extends Part> observable, Part oldValue, Part newValue) -> {


        });


        producttable.getSelectionModel().selectedItemProperty().addListener((ObservableValue<? extends Product> observable, Product oldValue, Product newValue) -> {

        });


    }  
}
公共类主控制器{
私有ObservableList parts=FXCollections.observableArrayList();
私有ObservableList products=FXCollections.observableArrayList();
//要在控制器之间交换的代码
@凌驾
公共void初始化(URL、ResourceBundle rb){
partsID.setCellValueFactory(新属性ValueFactory(“partID”);
partsName.setCellValueFactory(新属性ValueFactory(“名称”);
零件级别setCellValueFactory(新属性价值工厂(“instock”);
partscost.setCellValueFactory(新属性ValueFactory(“价格”);
可零件。设置项目(零件);
productsID.setCellValueFactory(新属性ValueFactory(“productID”);
productsName.setCellValueFactory(新属性ValueFactory(“名称”);
产品级别setCellValueFactory(新属性价值工厂(“instock”);
productsprice.setCellValueFactory(新属性ValueFactory(“价格”);
producttable.setItems(产品);

parttable.getSelectionModel().SelectEditeProperty().addListener((ObserviveValue我不太确定
零件
产品
之间的关系。从上下文来看,我假设每个特定的
产品
都有自己的与之相关的
零件
列表。我还假设
零件
列表存储在
产品

产品:

public class Product
{
    private final ObservableList<Part> parts = FXCollections.observableArrayList();
    public final ObservableList<Part> getParts() { return parts; }
    ........
}

谢谢!这让我感到困扰,因为我不知道让零件和产品相互依赖的正确方法,即用户将在零件A上输入信息,然后用户将产品信息输入到另一个表中。然后,如果用户删除零件A,产品信息也将被删除。再次谢谢你的帮助!
producttable.getSelectionModel().selectedItemProperty().addListener(observable, oldProduct, newProduct) ->
{
    if (newProduct != null)
    {
        parts.clear();
        parts.addAll(newProduct.getParts());
    }
});