-
Bug
-
Resolution: Duplicate
-
P3
-
None
-
8u92
-
x86_64
-
linux
FULL PRODUCT VERSION :
Windows:
java version "1.8.0_92"
Java(TM) SE Runtime Environment (build 1.8.0_92-b14)
Java HotSpot(TM) Client VM (build 25.92-b14, mixed mode)
Linux 1:
java version "1.8.0_92"
Java(TM) SE Runtime Environment (build 1.8.0_92-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.92-b14, mixed mode)
Linux 2:
openjdk version "1.8.0_92"
OpenJDK Runtime Environment (build 1.8.0_92-b14)
OpenJDK 64-Bit Server VM (build 25.92-b14, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Linux [redacted] 4.5.1-1-ARCH #1 SMP PREEMPT Thu Apr 14 19:19:32 CEST 2016 x86_64 GNU/Linux
Microsoft Windows [Version 6.1.7601]
A DESCRIPTION OF THE PROBLEM :
I have a TreeTableView where every node has an icon. Everything works perfectly when I expand the tree, but when I collapse the tree, the icons of the no longer visible items are left behind.
The rows and the text are removed, but the icons remain "free-floating". In the screenshot you can see the TreeTableView twice, once expanded with the correct text, and once collapsed with only the remaining icons.
Please see http://stackoverflow.com/questions/36917220/javafx-treetableview-leaves-icons-behind-when-collapsing for screenshots and sample code.
This code was adapted from Oracle documentation on TreeTableView at https://docs.oracle.com/javase/8/javafx/user-interface-tutorial/tree-table-view.htm
REGRESSION. Last worked in version 8u73
ADDITIONAL REGRESSION INFORMATION:
A user on Stackoverflow reported that the sample code works on 1.8.0_71.
Please see http://stackoverflow.com/questions/36917220/javafx-treetableview-leaves-icons-behind-when-collapsing for more information
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Please see http://stackoverflow.com/questions/36917220/javafx-treetableview-leaves-icons-behind-when-collapsing for sample code
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
I expected the icons to not be displayed anymore
ACTUAL -
The icons were still present, although the rest of the cells was removed
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
import javafx.application.Application;
import javafx.beans.property.ReadOnlyStringWrapper;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.TreeTableColumn;
import javafx.scene.control.TreeTableColumn.CellDataFeatures;
import javafx.scene.control.TreeItem;
import javafx.scene.control.TreeTableView;
import javafx.stage.Stage;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
public class TreeTableViewSample extends Application {
private static final Image icon = new Image(TreeTableViewSample.class.getResourceAsStream("icon.png"));
public static void main(String[] args) {
Application.launch(args);
}
@Override
public void start(Stage stage) {
stage.setTitle("Tree Table View Samples");
final Scene scene = new Scene(new Group(), 200, 400);
Group sceneRoot = (Group)scene.getRoot();
//Creating tree items
final TreeItem<String> childNode1 = new TreeItem<>("Child Node 1", new ImageView(icon));
final TreeItem<String> childNode2 = new TreeItem<>("Child Node 2", new ImageView(icon));
final TreeItem<String> childNode3 = new TreeItem<>("Child Node 3", new ImageView(icon));
//Creating the root element
final TreeItem<String> root = new TreeItem<>("Root node", new ImageView(icon));
root.setExpanded(true);
//Adding tree items to the root
root.getChildren().setAll(childNode1, childNode2, childNode3);
//Creating a column
TreeTableColumn<String,String> column = new TreeTableColumn<>("Column");
column.setPrefWidth(150);
//Defining cell content
column.setCellValueFactory((CellDataFeatures<String, String> p) ->
new ReadOnlyStringWrapper(p.getValue().getValue()));
//Creating a tree table view
final TreeTableView<String> treeTableView = new TreeTableView<>(root);
treeTableView.getColumns().add(column);
treeTableView.setPrefWidth(152);
treeTableView.setShowRoot(true);
sceneRoot.getChildren().add(treeTableView);
stage.setScene(scene);
stage.show();
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
When the icon is set using a CellFactory, collapsing works as expected.
Windows:
java version "1.8.0_92"
Java(TM) SE Runtime Environment (build 1.8.0_92-b14)
Java HotSpot(TM) Client VM (build 25.92-b14, mixed mode)
Linux 1:
java version "1.8.0_92"
Java(TM) SE Runtime Environment (build 1.8.0_92-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.92-b14, mixed mode)
Linux 2:
openjdk version "1.8.0_92"
OpenJDK Runtime Environment (build 1.8.0_92-b14)
OpenJDK 64-Bit Server VM (build 25.92-b14, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Linux [redacted] 4.5.1-1-ARCH #1 SMP PREEMPT Thu Apr 14 19:19:32 CEST 2016 x86_64 GNU/Linux
Microsoft Windows [Version 6.1.7601]
A DESCRIPTION OF THE PROBLEM :
I have a TreeTableView where every node has an icon. Everything works perfectly when I expand the tree, but when I collapse the tree, the icons of the no longer visible items are left behind.
The rows and the text are removed, but the icons remain "free-floating". In the screenshot you can see the TreeTableView twice, once expanded with the correct text, and once collapsed with only the remaining icons.
Please see http://stackoverflow.com/questions/36917220/javafx-treetableview-leaves-icons-behind-when-collapsing for screenshots and sample code.
This code was adapted from Oracle documentation on TreeTableView at https://docs.oracle.com/javase/8/javafx/user-interface-tutorial/tree-table-view.htm
REGRESSION. Last worked in version 8u73
ADDITIONAL REGRESSION INFORMATION:
A user on Stackoverflow reported that the sample code works on 1.8.0_71.
Please see http://stackoverflow.com/questions/36917220/javafx-treetableview-leaves-icons-behind-when-collapsing for more information
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Please see http://stackoverflow.com/questions/36917220/javafx-treetableview-leaves-icons-behind-when-collapsing for sample code
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
I expected the icons to not be displayed anymore
ACTUAL -
The icons were still present, although the rest of the cells was removed
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
import javafx.application.Application;
import javafx.beans.property.ReadOnlyStringWrapper;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.TreeTableColumn;
import javafx.scene.control.TreeTableColumn.CellDataFeatures;
import javafx.scene.control.TreeItem;
import javafx.scene.control.TreeTableView;
import javafx.stage.Stage;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
public class TreeTableViewSample extends Application {
private static final Image icon = new Image(TreeTableViewSample.class.getResourceAsStream("icon.png"));
public static void main(String[] args) {
Application.launch(args);
}
@Override
public void start(Stage stage) {
stage.setTitle("Tree Table View Samples");
final Scene scene = new Scene(new Group(), 200, 400);
Group sceneRoot = (Group)scene.getRoot();
//Creating tree items
final TreeItem<String> childNode1 = new TreeItem<>("Child Node 1", new ImageView(icon));
final TreeItem<String> childNode2 = new TreeItem<>("Child Node 2", new ImageView(icon));
final TreeItem<String> childNode3 = new TreeItem<>("Child Node 3", new ImageView(icon));
//Creating the root element
final TreeItem<String> root = new TreeItem<>("Root node", new ImageView(icon));
root.setExpanded(true);
//Adding tree items to the root
root.getChildren().setAll(childNode1, childNode2, childNode3);
//Creating a column
TreeTableColumn<String,String> column = new TreeTableColumn<>("Column");
column.setPrefWidth(150);
//Defining cell content
column.setCellValueFactory((CellDataFeatures<String, String> p) ->
new ReadOnlyStringWrapper(p.getValue().getValue()));
//Creating a tree table view
final TreeTableView<String> treeTableView = new TreeTableView<>(root);
treeTableView.getColumns().add(column);
treeTableView.setPrefWidth(152);
treeTableView.setShowRoot(true);
sceneRoot.getChildren().add(treeTableView);
stage.setScene(scene);
stage.show();
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
When the icon is set using a CellFactory, collapsing works as expected.
- duplicates
-
JDK-8157398 [TreeTableView] graphic property of TreeItem is still visible after collapsing tree
-
- Closed
-
- relates to
-
JDK-8164633 JavaFX TreeTableView leaves icons behind when collapsing
-
- Closed
-
-
JDK-8155798 Graphic jumps to bottom row in HelloTreeTableView
-
- Resolved
-