Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8148573

Table skin classes: can't extend due to abstract package private methods

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P3
    • Resolution: Fixed
    • Affects Version/s: 9
    • Fix Version/s: 9
    • Component/s: javafx
    • Environment:

      seen in jdk9eab99

      Description

      On the move into public, its abstract methods columnVisibility/Width/Property
      changed scope from protected to package - this makes the base class rather useless
      for extension: it's main job is sync'ing the cell's visible property to the
      column's visible property and triggering and doing the cell's layout.
      Both are possible only, if subclasses provide the column properties.

      Actually, we can't even extend the class - compiler error:

      "This class must implement the inherited abstract method TableCellSkinBase<TableCell<S,T>>.columnWidthProperty(), but cannot override it since it is not
      visible from XTableCellSkin. Either make the type abstract or make the inherited method visible"

        Issue Links

          Activity

          Hide
          fastegal Jeanette Winzenburg added a comment -
          similar for VirtualContainerBase: getItemCount and updateRowCount are abstract package-private

          Show
          fastegal Jeanette Winzenburg added a comment - similar for VirtualContainerBase: getItemCount and updateRowCount are abstract package-private
          Hide
          jgiles Jonathan Giles added a comment -
          Attaching patch file that improves the API in this area. It was always my intent, after JEP 253, to return to these classes to improve the API, as it was not really ever finished. I think this patch takes us a long way to improving things. In particular, it fixes the API on VirtualContainerBase, TableCellSkinBase, and TableRowSkinBase. All other changes in the patch flow out from there.
          Show
          jgiles Jonathan Giles added a comment - Attaching patch file that improves the API in this area. It was always my intent, after JEP 253, to return to these classes to improve the API, as it was not really ever finished. I think this patch takes us a long way to improving things. In particular, it fixes the API on VirtualContainerBase, TableCellSkinBase, and TableRowSkinBase. All other changes in the patch flow out from there.
          Hide
          kcr Kevin Rushforth added a comment -
          This looks fine to me.

          +1
          Show
          kcr Kevin Rushforth added a comment - This looks fine to me. +1
          Show
          jgiles Jonathan Giles added a comment - Changeset: http://hg.openjdk.java.net/openjfx/9-dev/rt/rev/a8ca5d58b7e0

            People

            • Assignee:
              jgiles Jonathan Giles
              Reporter:
              fastegal Jeanette Winzenburg
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: