RFR: 8054572: [macosx] JComboBox paints the border incorrectly [v2]

Damon Nguyen dnguyen at openjdk.org
Tue Jul 12 22:56:37 UTC 2022


> When a JComboBox is editable, the button segment of the combo box is misaligned vertically and has a different height. This change fixes these issues and adds a manual test that checks the appearance of an editable and non-editable JComboBox.
> 
> One of the discussions revolving this issue is the native macOS appearance of editable JComboBoxes. After looking through native macOS apps, the only one found is in System Preferences > Date & Time. The problem here is that the native equivalent found here uses a blue button with a single down arrow as the button's symbol. The current swing implementation uses a white button with an up & down arrow symbol for the button. A JRS widget button that has this blue button with a single downward arrow exists but does not support text fields.
> 
> As such, I believe the best fix for this issue is to mainly fix the alignment and sizing issue. I looked through Apple's documentation for these UI elements but editable JComboBoxes aren't specifically listed anywhere. Similarly, there's barely any editable JComboBoxes used in native mac apps (only the date & time). So, I don't think it's a major issue if JComboBox does not exactly match the example found in Date & Time.

Damon Nguyen 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 six additional commits since the last revision:

 - Updated method names for PassFailJFrame
 - Merge branch 'openjdk:master' into 8054572/JComboBoxBorderAlignmentFix
 - Removed commented lines. Added newlines.
 - Updated test with PassFailJFrame
 - Added test
 - Adjusted height and coordinate for editable JComboBox

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/9473/files
  - new: https://git.openjdk.org/jdk/pull/9473/files/dab81933..1d888259

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=9473&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=9473&range=00-01

  Stats: 518062 lines in 7117 files changed: 327149 ins; 135042 del; 55871 mod
  Patch: https://git.openjdk.org/jdk/pull/9473.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/9473/head:pull/9473

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



More information about the client-libs-dev mailing list