FULL PRODUCT VERSION :
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Mac OS X Version 10.11.1
Darwin Kernel Version 15.0.0: Sat Sep 19 15:53:46 PDT 2015; root:xnu-3247.10.11~1/RELEASE_X86_64
A DESCRIPTION OF THE PROBLEM :
Dragging a TableColumn to the right behind the next column by clicking on the table header does not work if a hidden column is neighbouring it on the right side.
Bug reported in
http://bugs.java.com/view_bug.do?bug_id=JDK-8096167
http://bugs.java.com/view_bug.do?bug_id=JDK-8095341
still present even though marked as resolved in version 8u20 (tested with 8u60). The latter bug report gives better description and example code. Bug can even be reproduced using the example code.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
When trying to drag a table column to the right of the next visible table column on the right side and a hidden table column is in between those columns.
See previous bug reports.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
When moving the table column to the right, it is expected to be placed where the marker is showing the new position.
ACTUAL -
Table column remains at the same position.
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
See bug report: http://bugs.java.com/view_bug.do?bug_id=JDK-8095341
or with visible menu button to see position of hidden columns:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class TableReorderBug extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
StackPane root = new StackPane();
root.getChildren().add( buildTable() );
primaryStage.setScene(new Scene(root, 650, 150));
primaryStage.show();
}
private TableView buildTable() {
// create table with a bunch of column and no rows...
TableView<Integer> table = new TableView<>();
for ( int i = 1; i <= 10; i++ ) {
TableColumn<Integer, Integer> column = new TableColumn<>("" + i);
table.getColumns().add( column );
// sneak some hidden columns in there
column = new TableColumn<>("h" + i);
column.setVisible( false );
table.getColumns().add( column );
}
table.setTableMenuButtonVisible(true);
return table;
}
}
---------- END SOURCE ----------
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Mac OS X Version 10.11.1
Darwin Kernel Version 15.0.0: Sat Sep 19 15:53:46 PDT 2015; root:xnu-3247.10.11~1/RELEASE_X86_64
A DESCRIPTION OF THE PROBLEM :
Dragging a TableColumn to the right behind the next column by clicking on the table header does not work if a hidden column is neighbouring it on the right side.
Bug reported in
http://bugs.java.com/view_bug.do?bug_id=JDK-8096167
http://bugs.java.com/view_bug.do?bug_id=JDK-8095341
still present even though marked as resolved in version 8u20 (tested with 8u60). The latter bug report gives better description and example code. Bug can even be reproduced using the example code.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
When trying to drag a table column to the right of the next visible table column on the right side and a hidden table column is in between those columns.
See previous bug reports.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
When moving the table column to the right, it is expected to be placed where the marker is showing the new position.
ACTUAL -
Table column remains at the same position.
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
See bug report: http://bugs.java.com/view_bug.do?bug_id=JDK-8095341
or with visible menu button to see position of hidden columns:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class TableReorderBug extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
StackPane root = new StackPane();
root.getChildren().add( buildTable() );
primaryStage.setScene(new Scene(root, 650, 150));
primaryStage.show();
}
private TableView buildTable() {
// create table with a bunch of column and no rows...
TableView<Integer> table = new TableView<>();
for ( int i = 1; i <= 10; i++ ) {
TableColumn<Integer, Integer> column = new TableColumn<>("" + i);
table.getColumns().add( column );
// sneak some hidden columns in there
column = new TableColumn<>("h" + i);
column.setVisible( false );
table.getColumns().add( column );
}
table.setTableMenuButtonVisible(true);
return table;
}
}
---------- END SOURCE ----------