On Thu, 22 Dec 2022 10:35:32 GMT, Abhishek Kumar <[email protected]> wrote:

>> In case of GTK LAF, the current selected element was not visible due to 
>> arrowbutton is rendered in entire display area of Combobox.
>> 
>> The proposed fix is to set the `squareButton `property of combobox to `false 
>> `so that the arrowbutton didn't take entire combobox display area for 
>> rendering. The `getMinimumSize `method is overridden in `SynthComboBoxUI `to 
>> consider **arrowbutton insets** for combobox minimum size. 
>> 
>> The JCK tests mentioned in JBS seems fine with the fix. 
>> An automated test case is implemented to test in Nimbus and GTK LAF. The 
>> text color check is to ensure the current selected item is visible.
>> 
>> When clientlibs tests are run with LAF set to Nimbus and GTK LAF, few test 
>> failures observed. 
>> 
>> `javax/swing/JComboBox/4523758/bug4523758.java` test failed with current fix 
>> in GTK LAF.
>> `open/test/jdk/javax/swing/JComboBox/TestComboBoxHeight.java` test passes if 
>> run in GTK LAF with current fix.
>> 
>> In Nimbus LAF, the failures before and after fix has no issues as such.
>> 
>> Although CI jobs looks ok with tests run in their default set LAFs.
>
> Abhishek Kumar has updated the pull request with a new target base due to a 
> merge or a rebase. The incremental webrev excludes the unrelated changes 
> brought in by the merge/rebase. The pull request contains four additional 
> commits since the last revision:
> 
>  - Review comment update
>  - Merge
>  - Merge
>  - Combobox componnet rendering fix

src/java.desktop/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java line 
372:

> 370:                             arrowButton.getPreferredSize().width;
> 371:         //adjust the size based on the button width
> 372:         size.height += insets.top + insets.bottom + arrowInsets.top

Are you sure that the arrow insets should be applied on top of the component's 
insets, probably the maximum of both should be selected?

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

PR: https://git.openjdk.org/jdk/pull/11555

Reply via email to