RFR: 8237602: TabPane doesn't respect order of TabPane.getTabs() list

Ambarish Rapte arapte at openjdk.java.net
Wed Apr 29 06:27:32 UTC 2020


Issue:
When tabs are permuted as mentioned in the issue description as,
1. TabPane.getTabs().setAll(tab0, tab1)
2. TabPane.getTabs().setAll(tab0, tab1, tab2, tab3);
the tab headers do not get permuted in same order as `TabPane.getTabs()`.

=> tab headers should be shown in order as  tab2, tab3, tab0, tab1.
=> But should are show in order as  tab0, tab1, tab2, tab3

Cause:
Newly added tabs(tab2, tab3) are not inserted at correct index. The index `Change.getFrom()` (0) used from Change does
not remain valid after the tabs to be moved(tab0, tab1) are removed from `tabsToAdd` list.

Fix:
Use the index of first newly added tab, from `TabPane.getTabs()`, which would be always reliable.

Verification:
No existing tests fail due to this change.
Added a system test which fails without and pass with fix.

-------------

Commit messages:
 - 8237602: TabPane doesn't respect order of TabPane.getTabs() list

Changes: https://git.openjdk.java.net/jfx/pull/201/files
 Webrev: https://webrevs.openjdk.java.net/jfx/201/webrev.00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8237602
  Stats: 71 lines in 2 files changed: 65 ins; 2 del; 4 mod
  Patch: https://git.openjdk.java.net/jfx/pull/201.diff
  Fetch: git fetch https://git.openjdk.java.net/jfx pull/201/head:pull/201

PR: https://git.openjdk.java.net/jfx/pull/201


More information about the openjfx-dev mailing list