JDK-8125934 : RTL orientation, ColorPicker palette position issue.
  • Type: Bug
  • Component: javafx
  • Sub-Component: controls
  • Affected Version: 8
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2012-12-11
  • Updated: 2016-12-09
  • Resolved: 2013-09-30
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8
8Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Description
As RT-24223 has been fixed, ColorPicker should have supported RTL, while there is a problem with position of palette. 
1. The palette is first placed on the right of ColorPicker. 
2. The palette is a little truncated on the right side.

This happens with ComboBox as well, not sure if they are due to the same problem.
Comments
verified fix in b110.
08-10-2013

Changeset: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/2c2b8f13d1cb
30-09-2013

The change which "caused" this problem in fix for RT-29891 was the switch of PopupWindow's root node from Group to Pane. The getPrefPopupPosition method in ComboBoxPopupControl requires the layout bounds of getPopupContent() to be finalized to calculate the correct position. Having a Group as a PopupWindow's root node forced early layout calculation and autosizing which made the layout bounds of getPopupContent() finalized even for the initial call to getPrefPopupPosition. But this was incidental and the ComboBoxPopupControl code shouldn't have counted on it. Now with a Pane as a PopupWindow's root node, layout is not finalized for the initial call to getPrefPopupPosition and so the calculated position is incorrect. It seems to be enough to call getPopupContent().autosize() in ComboBoxPopupControl.positionAndShowPopup to replicate the actions done previously in PopupWindow. More correct solution would be to use the new anchor based popup positioning added in RT-29891. For right-to-left combo boxes, the PopupWindow should be shown with the anchorLocation set to CONTENT_TOP_RIGHT and the specification of the upper right corner in show.
30-09-2013

The new regression was caused by fix for RT-29891.
27-09-2013

This problem is reproducible in b108 again. ColorPicker and DatePicker are impacted.
24-09-2013

Target build: b103
13-09-2013

verified fix with 8.0 b103.
28-08-2013

Changeset: http://hg.openjdk.java.net/openjfx/8/controls/rt/rev/ec44b3b3d2e1
12-08-2013

A fix is possible for subclasses of ComboBoxPopupControl, such as ColorPickerSkin and DatePickerSkin, by calling impl_processCSS() when the popup skin is set. A different fix is needed for RT-27546, where ContextMenu depends on the Window being shown once before the CSS can be processed without errors.
12-08-2013

Duplicate of RT-26138.
03-06-2013

Affected Tests: FXI18nAutomated/javafx/scene/control/test/i18n/ColorPickerTest/initialCustomColorPopupWindowHSBTabAppearanceTest FXI18nAutomated/javafx/scene/control/test/i18n/ColorPickerTest/initialCustomColorPopupWindowRGBTabAppearanceTest FXI18nAutomated/javafx/scene/control/test/i18n/ColorPickerTest/initialCustomColorPopupWindowWebTabAppearanceTest FXI18nAutomated/javafx/scene/control/test/i18n/ColorPickerTest/initialPopupAppearanceTest FXI18nAutomated/javafx/scene/control/test/i18n/ColorPickerTest/initialPopupPaletteAppearanceTest
12-12-2012