modules/controls/src/main/java/javafx/scene/control/TableColumn.java
Print this page
rev 9240 : 8076423: JEP 253: Prepare JavaFX UI Controls & CSS APIs for Modularization
@@ -23,15 +23,16 @@
* questions.
*/
package javafx.scene.control;
-import com.sun.javafx.scene.control.skin.NestedTableColumnHeader;
-import com.sun.javafx.scene.control.skin.TableColumnHeader;
-import com.sun.javafx.scene.control.skin.TableHeaderRow;
-import com.sun.javafx.scene.control.skin.TableViewSkin;
-import com.sun.javafx.scene.control.skin.TableViewSkinBase;
+import com.sun.javafx.scene.control.Properties;
+import javafx.scene.control.skin.NestedTableColumnHeader;
+import javafx.scene.control.skin.TableColumnHeader;
+import javafx.scene.control.skin.TableHeaderRow;
+import javafx.scene.control.skin.TableViewSkin;
+import javafx.scene.control.skin.TableViewSkinBase;
import javafx.beans.property.ObjectProperty;
import javafx.beans.property.SimpleObjectProperty;
import javafx.collections.FXCollections;
import javafx.collections.ListChangeListener;
@@ -416,14 +417,14 @@
this, "cellFactory", (Callback<TableColumn<S,T>, TableCell<S,T>>) ((Callback) DEFAULT_CELL_FACTORY)) {
@Override protected void invalidated() {
TableView<S> table = getTableView();
if (table == null) return;
Map<Object,Object> properties = table.getProperties();
- if (properties.containsKey(TableViewSkinBase.RECREATE)) {
- properties.remove(TableViewSkinBase.RECREATE);
+ if (properties.containsKey(Properties.RECREATE)) {
+ properties.remove(Properties.RECREATE);
}
- properties.put(TableViewSkinBase.RECREATE, Boolean.TRUE);
+ properties.put(Properties.RECREATE, Boolean.TRUE);
}
};
public final void setCellFactory(Callback<TableColumn<S,T>, TableCell<S,T>> value) {
cellFactory.set(value);
@@ -634,12 +635,23 @@
// SB-dependency: RT-21094 has been filed to track this
public Node impl_styleableGetNode() {
if (! (getTableView().getSkin() instanceof TableViewSkin)) return null;
TableViewSkin<?> skin = (TableViewSkin<?>) getTableView().getSkin();
- TableHeaderRow tableHeader = skin.getTableHeaderRow();
- NestedTableColumnHeader rootHeader = tableHeader.getRootHeader();
+ TableHeaderRow tableHeader = null;
+ for (Node n : skin.getChildren()) {
+ if (n instanceof TableHeaderRow) {
+ tableHeader = (TableHeaderRow)n;
+ }
+ }
+
+ NestedTableColumnHeader rootHeader = null;
+ for (Node n : tableHeader.getChildren()) {
+ if (n instanceof NestedTableColumnHeader) {
+ rootHeader = (NestedTableColumnHeader) n;
+ }
+ }
// we now need to do a search for the header. We'll go depth-first.
return scan(rootHeader);
}