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

ListChangeListener.Change.getList() on TreeView selected items has null elements after contracting a selected parent.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: P4 P4
    • 8u40
    • 8
    • javafx
    • None
    • Java 8, build b111, on Windows 7.

      This issue is an extension of RT-30626, bullet # 1; similar but different.

      Assume a tree with nodes "One", "Two" and "Three", all three nodes contracted, all with children, using Java 8, build b111.

      Click on node "One" results in:
      wasAdded getAddedSize()=1
      Contents of ListChangeListener.Change.getList() follows:
      iTreeItem=TreeItem [ value: "One" ]
      {No issue here.}

      Shift-click on node "Three" results in:
      wasAdded getAddedSize()=2, contents of ListChangeListener.Change.getList() follows:
      iTreeItem=TreeItem [ value: "One" ]
      iTreeItem=TreeItem [ value: "Two" ]
      iTreeItem=TreeItem [ value: "Three" ]
      {No issue here.}

      Expand node "One" results in:
      wasPermutated, contents of ListChangeListener.Change.getList() follows:
      iTreeItem=TreeItem [ value: "One" ]
      iTreeItem=TreeItem [ value: "Two" ]
      iTreeItem=TreeItem [ value: "Three" ]
      {Ideally, there would be no event, because getList() hasn't changed. But workable.}

      Contract node "One" results in:
      wasAdded getAddedSize()=1, contents of ListChangeListener.Change.getList() follows:
      iTreeItem=TreeItem [ value: "One" ]
      iTreeItem=null
      iTreeItem=null
      {Bug: wasAdded event when nothing was added. Also, null elements in getList().}

      ...then a second event fires, as opposed to a second item from ListChangeListener.Change.next()...

      wasPermutated, contents of ListChangeListener.Change.getList() follows:
      iTreeItem=TreeItem [ value: "One" ]
      iTreeItem=TreeItem [ value: "Two" ]
      iTreeItem=TreeItem [ value: "Three" ]
      {Ideally, there would be no event, because getList() hasn't changed. But workable.}

      If you can't easily duplicate with your favorite test code, let me know, and I'll pull together a short app that demonstrates the issue.

            jgiles Jonathan Giles
            djansenjfx Dave Jansen (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported: