On Mon, 14 Aug 2023 03:31:37 GMT, Abhishek Kumar <[email protected]> wrote:
> Disabled JPasswordField foreground color was not grayed out in GTK LAF.
>
> The foreground color in disabled state was close to black color (RGB 0,0,0)
> for password field which is not differentiable from enabled state foreground
> color.
>
> To fix for this problem, the widget type is changed to `TEXT_AREA `for
> disable password field which returns the foreground color as gray. Checked
> with Oracle linux as well and fix worked fine.
>
> An automated test case has been added and checked in CI, link is added in
> JBS. Test mentioned in JBS also works fine with the fix.
src/java.desktop/unix/native/libawt_xawt/awt/gtk3_interface.c line 2409:
> 2407: && color_type == FOREGROUND) {
> 2408: widget_type = MENU;
> 2409: } else if (widget_type == PASSWORD_FIELD && state_type ==
> GTK_STATE_INSENSITIVE
Looks like this line and a few others nearby exceed the character limit per
line if you wanted to correct that as well.
test/jdk/javax/swing/JPasswordField/TestDisabledPasswordFieldForegroundColor.java
line 58:
> 56: SwingUtilities.invokeAndWait(() -> {
> 57: createAndShowUI();
> 58: });
Suggestion:
SwingUtilities.invokeAndWait(TestDisabledPasswordFieldForegroundColor::createAndShowUI);
test/jdk/javax/swing/JPasswordField/TestDisabledPasswordFieldForegroundColor.java
line 110:
> 108: if (img1.getWidth() == img2.getWidth()
> 109: && img1.getHeight() == img2.getHeight()) {
> 110: for (int x = 10; x < img1.getWidth()/2; ++x) {
Suggestion:
for (int x = 10; x < img1.getWidth() / 2; ++x) {
test/jdk/javax/swing/JPasswordField/TestDisabledPasswordFieldForegroundColor.java
line 111:
> 109: && img1.getHeight() == img2.getHeight()) {
> 110: for (int x = 10; x < img1.getWidth()/2; ++x) {
> 111: for (int y = 10; y < img1.getHeight()-10; ++y) {
Suggestion:
for (int y = 10; y < img1.getHeight() - 10; ++y) {
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/15263#discussion_r1298721040
PR Review Comment: https://git.openjdk.org/jdk/pull/15263#discussion_r1298718982
PR Review Comment: https://git.openjdk.org/jdk/pull/15263#discussion_r1298719351
PR Review Comment: https://git.openjdk.org/jdk/pull/15263#discussion_r1298719517