> Before the fix, a JComboBox in Nimbus L&F would have normal black text even > when the JComboBox was disabled if SynthComboBoxRenderer was replaced with a > DefaultListCellRenderer. This text should be greyed out like in other L&F's. > When looking into the defaults for Nimbus L&F files for attributes and states > of a JComboBox, it confirm that the intention for disabled JComboBoxes is > nimbusDisabledText (which is grey text). > > SynthComboBoxes have an additional check in its default SynthComboBoxRenderer > that enables/disables the renderer itself. The SynthComboBoxRenderer inherits > its enabled state from the parent ComboBox. Since the renderer with > DefaultListCellRenderer is in a separate class without a reference to the > comboBox, a listener was added to SynthComboBoxUI. > > An additional issue occurred in DefaultListCellRenderer because the renderer > overrode the listener's re-assigned enabled state. In testing, setting the > enabled state in DefaultListCellRenderer is redundant for all L&F's and is > not needed here. However, instead of removing it altogether, a conditional > was added specifically to allow ComboBoxes to skip setting enabled state here. > > After the fix, the Nimbus JComboBox with DLCR set matches the appearance of a > normal Nimbus JComboBox. I can enable/disable the JComboBoxes in the test, > and the UI elements behave and appear as expected.
Damon Nguyen has updated the pull request incrementally with four additional commits since the last revision: - Remove extra bufferedImage - Fix crlf - Add automated test. Cycle thru all LAF - Add testing for other LAFs ------------- Changes: - all: https://git.openjdk.org/jdk/pull/12390/files - new: https://git.openjdk.org/jdk/pull/12390/files/cdbc9a89..71e7d54d Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=12390&range=05 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=12390&range=04-05 Stats: 304 lines in 2 files changed: 176 ins; 128 del; 0 mod Patch: https://git.openjdk.org/jdk/pull/12390.diff Fetch: git fetch https://git.openjdk.org/jdk pull/12390/head:pull/12390 PR: https://git.openjdk.org/jdk/pull/12390
