[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-2d-dev
Subject:    Re: [jdk20] RFR: 8300269: The selected item in an editable JComboBox with titled border is not visib
From:       Phil Race <prr () openjdk ! org>
Date:       2023-01-27 21:48:26
Message-ID: zOBz2MvHzhPXf-WdA2WfmWMBWUNfN7DW5ftG788IVtA=.9c1cbb06-0a99-4543-a049-c43ccffa033b () github ! com
[Download RAW message or body]

On Fri, 27 Jan 2023 10:14:51 GMT, Damon Nguyen <dnguyen@openjdk.org> wrote:

> > Fixes regression bug where Aqua L&F editable JComboBox with a TitledBorder was \
> > not visible.  
> > This fix adds a conditional that addresses cases where a border is used on an \
> > AquaComboBox. The patch that caused the issue set a static height, but this \
> > height caused issues with a TitledBorder, which modifies the height to account \
> > for the border. In this case, revert to the old method of calculating a \
> > comboBox's height. 
> > A point made in the previous PR was that the previous method had +1 to comboBox \
> > height. This could be re-added, but in the comment thread in [the previous \
> > PR](https://github.com/openjdk/jdk/pull/12087), leaving this out is better \
> > because the extra height causes the textField to be skewed South. 
> > <img width="63" alt="Screen Shot 2023-01-20 at 12 54 47 PM" \
> > src="https://user-images.githubusercontent.com/96267980/214998560-2340ac1d-5df3-47ba-94f7-56459211330e.png">
> >  
> > This also adds the test that checks an editable JComboBox across all L&F's except \
> > GTK. There seems to be an unrelated bug to this fix that causes GTK L&F \
> > comboBoxes to not behave as expected with these key presses.
> 
> Damon Nguyen has updated the pull request incrementally with one additional commit \
> since the last revision: 
> Change return to continue

This looks to me like it will need reworking in future - "22" seems a bit too much of \
a magic number - but reverting to using the height

src/java.desktop/macosx/classes/com/apple/laf/AquaComboBoxUI.java line 460:

> 458:         protected Rectangle rectangleForCurrentValue() {
> 459:             int width = comboBox.getWidth();
> 460:             int height = comboBox.getBorder() == null ? 22 : \
> comboBox.getHeight();

This looks to me like it will need reworking in future - "22" seems a bit too much of \
a magic number - but reverting to using the height for the problem case seems safe. \
However please do run all related Swing tests on Aqua INCLUDING manual tests of the \
combo-box - perhaps using SwingSet2 - to make sure it looks good.

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

Marked as reviewed by prr (Reviewer).

PR: https://git.openjdk.org/jdk20/pull/119


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic