RFR: 7188058: Background of TextComponents are not changing colors to the default disabled color when set to uneditable [v2]

Prasanta Sadhukhan psadhukhan at openjdk.org
Fri Aug 2 03:45:37 UTC 2024


On Thu, 25 Jul 2024 00:02:07 GMT, Alisen Chung <achung at openjdk.org> wrote:

>> Currently the bug described in the issue is that the colors of the TextComponents do not change when setting TextComponents to uneditable. The default uneditable color (SystemColor.control) happens to be the same as the default for the editable color for some L&Fs, so the fix may not be initially noticeable. However, the bug still exists where the the color is not being changed when changing between editable and uneditable. You can check by changing TextComponent.getBackground() code to return Color.GRAY on line 342 and you can see that TextComponents are not changing to a gray background when set to uneditable.
>> 
>> This fix adds a private setBackground method in TextComponent so that TextArea and TextField can change the background color to the correct color (SystemColor.control) when set uneditable by overriding the TextComponent setEditable. You can verify the fix by changing this color to Color.GRAY and verifying the backgrounds change to gray when the TextComponents are disabled.
>
> Alisen Chung has updated the pull request incrementally with one additional commit since the last revision:
> 
>   moved test to awt

src/java.desktop/share/classes/java/awt/TextArea.java line 613:

> 611:     public synchronized void setEditable(boolean b) {
> 612:         super.setEditable(b);
> 613:         Color defaultBackground = UIManager.getColor("TextArea.background");

I am not sure if it is ok to use swing "UIManager" class in awt
I guess long time back somebody maybe @prrace mentioned that we should avoid calling swing class from awt? 
I see we use AttributeSet in TextComponent for accessibility usage but am not sure if we can use without restriction?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/19876#discussion_r1701169618


More information about the client-libs-dev mailing list