簡體   English   中英

JavaFX Treeview沒有顯示任何項目

[英]JavaFX Treeview shows no items

我嘗試在JavaFX App中實現TreeView。 但經常沒有任何項目顯示,但我找不到問題。 我搜索了一些示例,並像他們一樣做了。

我將TreeView控件放入SceneBuilder中的FXML文件中,然后選擇ControllerClass,該類已生成並從此類中選擇Treeview字段作為SceneBuilder中TreeView控件的ID。

那是我的控制器代碼:

public class MainSceneController implements Initializable {

@FXML
TreeView<String> treeview;

@FXML
Button btn;

@Override
public void initialize(URL url, ResourceBundle rb) {
    TreeItem<String> root = new TreeItem<>("root");


    for(int i = 0; i < 10; i++) {
        TreeItem<String> child = new TreeItem<>("Children " + i);

    root.getChildren().add(child);
    }


    root.setExpanded(true);

    this.treeview = new TreeView<>(root);

    treeview.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
}

@FXML
public void addTreeViewItem() {

}

@FXML
private void showAddStreamDialog() {
    try {

        Parent p;

        p = FXMLLoader.load(getClass().getResource("AddStream.fxml"));

        Scene s = new Scene(p);

        Stage stage = new Stage();

        stage.initModality(Modality.APPLICATION_MODAL);
        stage.setScene(s);
        stage.show();

    } catch (IOException ex) {
        Logger.getLogger(MainSceneController.class.getName()).log(Level.SEVERE, null, ex);
    }
}

}

有什么主意嗎?

您不應將新實例分配給this.treeview因為this.treeview已初始化此字段。 因此,代替this.treeview = new TreeView<>(root); 您只需要設置根項目this.treeview.setRoot(root);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM