On Thu, 11 Aug 2022 15:55:30 GMT, Harshitha Onkar <[email protected]> wrote:
>> Damon Nguyen has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> Removed newline.
>
> src/java.desktop/macosx/classes/com/apple/laf/AquaComboBoxUI.java line 458:
>
>> 456: class AquaComboBoxLayoutManager extends
>> BasicComboBoxUI.ComboBoxLayoutManager {
>> 457: protected Rectangle rectangleForCurrentValue() {
>> 458: System.out.println("rectForCurrentValue NEW: " +
>> comboBox.getHeight());
>
> Missed removing print statement :)
Fixed. Thanks for catching that. I had a lot of comments to clean up after
testing and this one slipped through.
> src/java.desktop/macosx/classes/com/apple/laf/AquaComboBoxUI.java line 460:
>
>> 458: System.out.println("rectForCurrentValue NEW: " +
>> comboBox.getHeight());
>> 459: int width = comboBox.getWidth();
>> 460: int height = 21;
>
> Is this a Aqua LAF constraint on max height of text-field?
This height limitation is set to match the appearance of a non-oversized font
in an editable JComboBox. I tested different values, and this value matches the
appearance of an editable JComboBox when the AquaLookAndFeel control font is
used.
The reason for overriding this method is to set this max height and condense
the logic for the editor rectangle values. Previously, this class hard coded
adjustments for the width and height values of the editor rectangle in
layoutContainer when editor != null. This occurs right after this
rectangleForCurrentValue is called, and this method is only used to calculate
the rectangle position. So, overriding this method makes more sense since it
does exactly that for Aqua L&F values specifically.
-------------
PR: https://git.openjdk.org/jdk/pull/9473