On Fri, 17 Mar 2023 18:35:07 GMT, Damon Nguyen <dngu...@openjdk.org> wrote:
>> The issue is in Aqua L&F when an editable JComboBox with a border is used. >> In this case, when the comboBox is clicked for the drop-down menu to show, >> the drop-down menu appears at the wrong coordinates (blocking the text of >> the comboBox and making it unreadable). >> >> This seems to have been the case for a while and a similar issue appeared >> recently where an editable Aqua JComboBox also had wrong positioning due to >> having a border. >> >> This fix checks for a border and modifies the bounds to accommodate the >> border's size. Then the usual calculations for the comboBox popup works as >> expected. >> >> The new headful test creates an editable comboBox with a TitledBorder and >> with no border. Then, it automatically clicks the comboBox to open the >> popup, and clicks where the position of the first selectionItem should be. >> Finally, it checks if the selected item is correct. This is for all L&F's >> and the test passes on all OS's. > > Damon Nguyen has updated the pull request incrementally with one additional > commit since the last revision: > > Update Mac test to match native test/jdk/javax/swing/JComboBox/EditableComboBoxPopupPos.java line 78: > 76: String[] comboStrings = {"One", "Two", "Three"}; > 77: > 78: cb1 = new JComboBox(comboStrings); Could you please use diamond operator here and after on JComboBox to avoid warnings? test/jdk/javax/swing/JComboBox/EditableComboBoxPopupPos.java line 146: > 144: checkSelection(cb1Str, cb2Str, cb3Str, cb4Str); > 145: } finally { > 146: SwingUtilities.invokeAndWait(() -> frame.dispose()); With null check it will be more robust. test/jdk/javax/swing/JComboBox/EditableComboBoxPopupPos.java line 194: > 192: } else { > 193: robot.mouseMove(p.x + width - BUTTON_OFFSET, > 194: p.y + (height / 2) + POPUP_OFFSET); I am having a solid 10 sec delay with Motif LaF for forth ComboBox. We are moving mouse really close to the bottom right corner, so resize mouse cursor appears `⤡`. This somehow triggers [JDK-8299937](https://bugs.openjdk.org/browse/JDK-8299937) behavior. Without adding `POPUP_OFFSET` all works fine(tested on Mac and Ubuntu). ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/12750#discussion_r1148840265 PR Review Comment: https://git.openjdk.org/jdk/pull/12750#discussion_r1148842212 PR Review Comment: https://git.openjdk.org/jdk/pull/12750#discussion_r1148861930