gpt4 book ai didi

java - 从同一层次结构级别的节点重绘节点

转载 作者:行者123 更新时间:2023-12-01 15:12:16 25 4
gpt4 key购买 nike

enter image description here

在上面的应用程序中,我有一个选项卡(带有“年龄”、“性别”和“邮政编码”的选项卡),其中每个选项卡都包含一个 VBox。 VBox 分为两部分:

VBox 的上部可让您查看列表的列表,VBox 的下部包含一个菜单,可让您更改列表的列表。

VBox 下部的按钮更新上述列表列表。我希望当底层列表发生更改时,VBox 中的上部节点能够重新更新。

相关的代码片段可能是

Node createHierarchySplitMenu(HierarchiesFromFile hierarchies, String hierarchyName){

VBox vBox = new VBox();
vBox.getChildren().add(createHierarchyScrollPane(hierarchies, hierarchyName));
vBox.getChildren().add(createHierarchyMenu());

return vBox;
}

当 VBox 下部节点中的按钮(由 createHierarchyMenu() 创建)时,我希望再次调用 createHierarchyScrollPane() 以显示新的列表列表。我怎么做?

是否存在从另一个节点更新一个节点的常规模式/方式(当它们处于同一级别时)?

你尝试了什么?没什么值得一提的——我被困住了。

如果您需要更多信息,请询问。不想让你因代码而陷入困境。

最佳答案

据我了解,解决方案可以是:

  1. 创建类来处理createHierarchyScrollPane():

    private class HierarchyScrollPane extends ScrollPane  {

    public void update(HierarchiesFromFile hierarchies, String hierarchyName) {
    // code from createHierarchyScrollPane() which works with "this" instead of new Scroll Pane
    }
    }
  2. 将实例传递给 createHierarchyMenu():

    Node createHierarchySplitMenu(HierarchiesFromFile hierarchies, String hierarchyName){

    VBox vBox = new VBox();

    ScrollPaneUpdate hsp = new HierarchyScrollPane();
    hsp.update(hierarchies, hierarchyName);
    vBox.getChildren().add(hsp);
    vBox.getChildren().add(createHierarchyMenu(hsp));

    return vBox;
    }
  3. createHierarchyMenu() 中的某个位置:

    public void createHierarchyMenu(final HierarchyScrollPane hsp) {
    // ...
    Button btnSetMin = new Button("Set Min");
    btnSetMinsetOnAction(new EventHandler<ActionEvent>() {
    public void handle(ActionEvent t) {
    // your code for data update
    hsp.update(hierarchies, hierarchyName);
    }
    });
    }

关于java - 从同一层次结构级别的节点重绘节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12176312/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com