modules/controls/src/main/java/javafx/scene/control/skin/TableCellSkin.java

Print this page
rev 9240 : 8076423: JEP 253: Prepare JavaFX UI Controls & CSS APIs for Modularization

*** 21,56 **** * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ ! package com.sun.javafx.scene.control.skin; import javafx.scene.control.TableCell; import com.sun.javafx.scene.control.behavior.TableCellBehavior; import javafx.beans.property.BooleanProperty; import javafx.beans.property.ReadOnlyDoubleProperty; import javafx.scene.control.TableColumn; /** */ ! public class TableCellSkin<S,T> extends TableCellSkinBase<TableCell<S,T>, TableCellBehavior<S,T>> { ! private final TableColumn<S,T> tableColumn; - public TableCellSkin(TableCell<S,T> tableCell) { - super(tableCell, new TableCellBehavior<S,T>(tableCell)); - this.tableColumn = tableCell.getTableColumn(); ! super.init(tableCell); } ! @Override protected BooleanProperty columnVisibleProperty() { ! return tableColumn.visibleProperty(); } ! @Override protected ReadOnlyDoubleProperty columnWidthProperty() { ! return tableColumn.widthProperty(); } } --- 21,105 ---- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ ! package javafx.scene.control.skin; + import com.sun.javafx.scene.control.behavior.BehaviorBase; + import javafx.scene.Node; + import javafx.scene.control.Accordion; + import javafx.scene.control.Button; + import javafx.scene.control.Control; import javafx.scene.control.TableCell; import com.sun.javafx.scene.control.behavior.TableCellBehavior; import javafx.beans.property.BooleanProperty; import javafx.beans.property.ReadOnlyDoubleProperty; import javafx.scene.control.TableColumn; /** + * Default skin implementation for the {@link TableCell} control. + * + * @see TableCell + * @since 9 */ ! public class TableCellSkin<S,T> extends TableCellSkinBase<TableCell<S,T>> { ! /*************************************************************************** ! * * ! * Private Fields * ! * * ! **************************************************************************/ ! ! private final BehaviorBase<TableCell<S,T>> behavior; ! /*************************************************************************** ! * * ! * Constructors * ! * * ! **************************************************************************/ ! ! /** ! * Creates a new TableCellSkin instance, installing the necessary child ! * nodes into the Control {@link Control#getChildren() children} list, as ! * well as the necessary input mappings for handling key, mouse, etc events. ! * ! * @param control The control that this skin should be installed onto. ! */ ! public TableCellSkin(TableCell<S,T> control) { ! super(control); ! ! // install default input map for the TableCell control ! behavior = new TableCellBehavior<>(control); ! // control.setInputMap(behavior.getInputMap()); ! } ! ! ! ! /*************************************************************************** ! * * ! * Public API * ! * * ! **************************************************************************/ ! ! /** {@inheritDoc} */ ! @Override public void dispose() { ! super.dispose(); ! ! if (behavior != null) { ! behavior.dispose(); ! } } ! /** {@inheritDoc} */ ! @Override BooleanProperty columnVisibleProperty() { ! return getSkinnable().getTableColumn().visibleProperty(); } ! /** {@inheritDoc} */ ! @Override ReadOnlyDoubleProperty columnWidthProperty() { ! return getSkinnable().getTableColumn().widthProperty(); } }