- 
    Bug 
- 
    Resolution: Fixed
- 
     P4 P4
- 
    8
- 
    jdk1.8.0b71 
                    To reproduce:
1. Click "Show/hide root" button. Root will disappear.
2. Click the button again. It is expected that root item will appear again but it won't.
public class JavaFXApplication22 extends Application {
    
TreeView treeView;
    
@Override
public void start(Stage primaryStage) {
        
HBox root = new HBox(10.0);
Scene scene = new Scene(root, 300, 250);
        
treeView = getTreeView();
        
ToggleButton btnShowRoot = new ToggleButton("Show/hide root");
btnShowRoot.setSelected(true);
btnShowRoot.selectedProperty().addListener(
new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> ov,
Boolean oldVal, Boolean newVal) {
                
treeView.setShowRoot(newVal.booleanValue());
}
});
        
root.getChildren().addAll(treeView, btnShowRoot);
        
primaryStage.setTitle(VersionInfo.getRuntimeVersion());
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
private TreeView getTreeView() {
TreeView tv = new TreeView();
        
TreeItem root = new TreeItem("Root");
tv.setRoot(root);
        
root.setExpanded(true);
        
for (int i = 0; i < 10; i++) {
TreeItem it = new TreeItem(String.format("Tree item - %d", i));
root.getChildren().add(it);
}
        
return tv;
}
}
1. Click "Show/hide root" button. Root will disappear.
2. Click the button again. It is expected that root item will appear again but it won't.
public class JavaFXApplication22 extends Application {
TreeView treeView;
@Override
public void start(Stage primaryStage) {
HBox root = new HBox(10.0);
Scene scene = new Scene(root, 300, 250);
treeView = getTreeView();
ToggleButton btnShowRoot = new ToggleButton("Show/hide root");
btnShowRoot.setSelected(true);
btnShowRoot.selectedProperty().addListener(
new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> ov,
Boolean oldVal, Boolean newVal) {
treeView.setShowRoot(newVal.booleanValue());
}
});
root.getChildren().addAll(treeView, btnShowRoot);
primaryStage.setTitle(VersionInfo.getRuntimeVersion());
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
private TreeView getTreeView() {
TreeView tv = new TreeView();
TreeItem root = new TreeItem("Root");
tv.setRoot(root);
root.setExpanded(true);
for (int i = 0; i < 10; i++) {
TreeItem it = new TreeItem(String.format("Tree item - %d", i));
root.getChildren().add(it);
}
return tv;
}
}