FULL PRODUCT VERSION :
Java(TM) SE Runtime Environment (build 1.8.0_51-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 6.3.9600]
A DESCRIPTION OF THE PROBLEM :
When all TableColumns of a TableView are invisible from the start the TableMenuButton is not shown. The user has no chance to make the TableColumns visible again.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
See the example: make a TableView, add one TableColumn and set it invisible programmatically.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
No column should be shown but the TableMenuButton
ACTUAL -
The table header is missing and the TableMenuButton is not shown
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
public class TableViewDemo extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(final Stage primaryStage) {
TableView tableView = new TableView();
tableView.setTableMenuButtonVisible(true);
TableColumn tableColumn = new TableColumn("Column 1");
tableColumn.setVisible(false); // when commented TableMenuButton is shown
tableView.getColumns().add(tableColumn);
primaryStage.setScene(new Scene(tableView));
primaryStage.show();
}
}
---------- END SOURCE ----------
Java(TM) SE Runtime Environment (build 1.8.0_51-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 6.3.9600]
A DESCRIPTION OF THE PROBLEM :
When all TableColumns of a TableView are invisible from the start the TableMenuButton is not shown. The user has no chance to make the TableColumns visible again.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
See the example: make a TableView, add one TableColumn and set it invisible programmatically.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
No column should be shown but the TableMenuButton
ACTUAL -
The table header is missing and the TableMenuButton is not shown
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
public class TableViewDemo extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(final Stage primaryStage) {
TableView tableView = new TableView();
tableView.setTableMenuButtonVisible(true);
TableColumn tableColumn = new TableColumn("Column 1");
tableColumn.setVisible(false); // when commented TableMenuButton is shown
tableView.getColumns().add(tableColumn);
primaryStage.setScene(new Scene(tableView));
primaryStage.show();
}
}
---------- END SOURCE ----------