Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaFX CheckBoxTreeItem图形在兄弟崩溃时消失_Java_Javafx - Fatal编程技术网

JavaFX CheckBoxTreeItem图形在兄弟崩溃时消失

JavaFX CheckBoxTreeItem图形在兄弟崩溃时消失,java,javafx,Java,Javafx,我想用CheckBoxTreeItems制作TreeView。我尝试了网上教程,但发现了一个问题。当我折叠复选框时,我设置的图像消失了。我用谷歌搜索,但找不到正确答案。如果你能给我一些建议,那将是我的荣幸 public class SelectiveController implements Initializable { @FXML Button btRefresh; @FXML Button btConfirm; @FXML Button btCancel; @FXML TreeView

我想用CheckBoxTreeItems制作TreeView。我尝试了网上教程,但发现了一个问题。当我折叠复选框时,我设置的图像消失了。我用谷歌搜索,但找不到正确答案。如果你能给我一些建议,那将是我的荣幸

public class SelectiveController implements Initializable  {

@FXML
Button btRefresh;
@FXML
Button btConfirm;
@FXML
Button btCancel;
@FXML
TreeView<String> tvFolderList;

private static final Image folderIcon =  new Image("http://icons.iconarchive.com/icons/hopstarter/sleek-xp-basic/16/Folder-icon.png");
@Override
public void initialize(URL location, ResourceBundle resources) {
    // TODO Auto-generated method stub
    setUIEventListener();
}

public void setTree() {

    CheckBoxTreeItem<String> rootItem = new CheckBoxTreeItem<String>("View Source Files", new ImageView(folderIcon));
    rootItem.setExpanded(true);

    for (int i = 0; i < 4; i++) {
        CheckBoxTreeItem<String> checkBoxTreeItem = new CheckBoxTreeItem<String>("Sample" + (i + 1), new ImageView(folderIcon));
        rootItem.getChildren().add(checkBoxTreeItem);
        for(int j=0; j < 2; j++) {
            CheckBoxTreeItem<String> subItem = new CheckBoxTreeItem<String>("Sample" + (j + 1), new ImageView(folderIcon));
            checkBoxTreeItem.getChildren().add(subItem);
            for(int k = 0; k < 2; k++) {
                CheckBoxTreeItem<String> subSubItem = new CheckBoxTreeItem<String>("Sample" + (j + 1), new ImageView(folderIcon));
                subItem.getChildren().add(subSubItem);
            }
        }

    }

    tvFolderList.setEditable(true);
    tvFolderList.setRoot(rootItem);
    tvFolderList.setCellFactory(CheckBoxTreeCell.<String>forTreeView());
    tvFolderList.setShowRoot(true);

}

public void setUIEventListener() {
    btCancel.setOnMouseClicked(new EventHandler<Event>() {

        @Override
        public void handle(Event event) {
            // TODO Auto-generated method stub
            System.out.println("test");
        }

    });
    btRefresh.setOnMouseClicked(new EventHandler<Event>() {

        @Override
        public void handle(Event arg0) {
            setTree();
        }

    });
}


遇到了和你一样的问题!你是怎么处理这个问题的?和你的问题一样!你如何处理这个问题?
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
    try {
        FXMLLoader loader = new FXMLLoader(getClass().getResource("/Treeview.fxml"));
        Parent root = (Parent)loader.load();
        Scene scene = new Scene(root,600,500);
        scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());

        primaryStage.setTitle("selective UI mock-up");
        primaryStage.setScene(scene);
        primaryStage.show();
    } catch(Exception e) {
        e.printStackTrace();
    }
}

public static void main(String[] args) {
    launch(args);
    }
}