-
Enhancement
-
Resolution: Fixed
-
P4
-
jfx21
-
b18
-
generic
-
generic
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8315583 | jfx17.0.9 | Jose Pereda | P4 | Resolved | Fixed | b02 |
A (Tree)TableView has the opportunity to show a column popup menu where the user can control the visibility of the columns.
To activate this feature, the developer needs to use the method: setTableMenuButtonVisible(true). The default of the table menu button visibility is false.
The TableHeaderRow is responsible for showing the table menu button, which when clicked shows a context menu with all available columns as MenuItem.
A problem here is, that the Column PopupMenu is always initialized and updated via bindings, even if the table menu button is never shown or the user never clicked on it.
The goal if this ticket is to create the Popup lazily, so that we do not do anything with the popup until really needed.
This can save performance, especially for tables with many columns.
Side note: There are a bunch of tickets with the wish to customize the Popup shown by the table menu button or show it programmatically. This ticket will prepare this, as now all Popup related code is on one place and in the future we can think of implementing a way to override this behaviour in a way that the Popup and all related bindings are never created and therefore do not decrease performance.
To activate this feature, the developer needs to use the method: setTableMenuButtonVisible(true). The default of the table menu button visibility is false.
The TableHeaderRow is responsible for showing the table menu button, which when clicked shows a context menu with all available columns as MenuItem.
A problem here is, that the Column PopupMenu is always initialized and updated via bindings, even if the table menu button is never shown or the user never clicked on it.
The goal if this ticket is to create the Popup lazily, so that we do not do anything with the popup until really needed.
This can save performance, especially for tables with many columns.
Side note: There are a bunch of tickets with the wish to customize the Popup shown by the table menu button or show it programmatically. This ticket will prepare this, as now all Popup related code is on one place and in the future we can think of implementing a way to override this behaviour in a way that the Popup and all related bindings are never created and therefore do not decrease performance.
- backported by
-
JDK-8315583 Create Table Column PopupMenu lazily
- Resolved
- links to
-
Commit openjdk/jfx17u/56761977
-
Commit openjdk/jfx/8aff5252
-
Review openjdk/jfx17u/147
-
Review(master) openjdk/jfx/1133