8041725: Nimbus JList selection colors persist across L&F changes
Reviewed-by: alexsch, alexp
This commit is contained in:
parent
9aa0cef64a
commit
5b7ccb7c0a
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
|
||||
This code is free software; you can redistribute it and/or modify it
|
||||
@ -13424,10 +13424,10 @@
|
||||
<state stateKeys="Selected">
|
||||
<style>
|
||||
<textForeground>
|
||||
<matte red="255" green="255" blue="255" alpha="255" uiDefaultParentName="nimbusLightBackground" hueOffset="0.0" saturationOffset="0.0" brightnessOffset="0.0" alphaOffset="0" uiResource="false"/>
|
||||
<matte red="255" green="255" blue="255" alpha="255" uiDefaultParentName="nimbusLightBackground" hueOffset="0.0" saturationOffset="0.0" brightnessOffset="0.0" alphaOffset="0"/>
|
||||
</textForeground>
|
||||
<textBackground>
|
||||
<matte red="57" green="105" blue="138" alpha="255" uiDefaultParentName="nimbusSelectionBackground" hueOffset="0.0" saturationOffset="0.0" brightnessOffset="0.0" alphaOffset="0" uiResource="false"/>
|
||||
<matte red="57" green="105" blue="138" alpha="255" uiDefaultParentName="nimbusSelectionBackground" hueOffset="0.0" saturationOffset="0.0" brightnessOffset="0.0" alphaOffset="0"/>
|
||||
</textBackground>
|
||||
<background/>
|
||||
<inherit-textForeground>false</inherit-textForeground>
|
||||
@ -13453,7 +13453,7 @@
|
||||
<style>
|
||||
<textForeground/>
|
||||
<textBackground>
|
||||
<matte red="57" green="105" blue="138" alpha="255" uiDefaultParentName="nimbusSelectionBackground" hueOffset="0.0" saturationOffset="0.0" brightnessOffset="0.0" alphaOffset="0" uiResource="false"/>
|
||||
<matte red="57" green="105" blue="138" alpha="255" uiDefaultParentName="nimbusSelectionBackground" hueOffset="0.0" saturationOffset="0.0" brightnessOffset="0.0" alphaOffset="0"/>
|
||||
</textBackground>
|
||||
<background/>
|
||||
<inherit-textBackground>false</inherit-textBackground>
|
||||
@ -13477,7 +13477,7 @@
|
||||
<state stateKeys="Disabled">
|
||||
<style>
|
||||
<textForeground>
|
||||
<matte red="142" green="143" blue="145" alpha="255" uiDefaultParentName="nimbusDisabledText" hueOffset="0.0" saturationOffset="0.0" brightnessOffset="0.0" alphaOffset="0" uiResource="false"/>
|
||||
<matte red="142" green="143" blue="145" alpha="255" uiDefaultParentName="nimbusDisabledText" hueOffset="0.0" saturationOffset="0.0" brightnessOffset="0.0" alphaOffset="0"/>
|
||||
</textForeground>
|
||||
<textBackground/>
|
||||
<background/>
|
||||
@ -13520,7 +13520,7 @@
|
||||
</textForeground>
|
||||
<textBackground/>
|
||||
<background>
|
||||
<matte red="57" green="105" blue="138" alpha="255" uiDefaultParentName="nimbusSelectionBackground" hueOffset="0.0" saturationOffset="0.0" brightnessOffset="0.0" alphaOffset="0" uiResource="false"/>
|
||||
<matte red="57" green="105" blue="138" alpha="255" uiDefaultParentName="nimbusSelectionBackground" hueOffset="0.0" saturationOffset="0.0" brightnessOffset="0.0" alphaOffset="0"/>
|
||||
</background>
|
||||
<inherit-textForeground>false</inherit-textForeground>
|
||||
<inherit-background>false</inherit-background>
|
||||
|
82
jdk/test/javax/swing/plaf/nimbus/8041725/bug8041725.java
Normal file
82
jdk/test/javax/swing/plaf/nimbus/8041725/bug8041725.java
Normal file
@ -0,0 +1,82 @@
|
||||
/*
|
||||
* Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/* @test
|
||||
@bug 8041725
|
||||
@summary JList selection colors are not UIResource instances in Nimbus L&F
|
||||
@author Anton Litvinov
|
||||
*/
|
||||
|
||||
import java.awt.*;
|
||||
import javax.swing.*;
|
||||
import javax.swing.plaf.*;
|
||||
import javax.swing.plaf.nimbus.*;
|
||||
|
||||
public class bug8041725 {
|
||||
public static void main(String[] args) throws Exception {
|
||||
UIManager.setLookAndFeel(new NimbusLookAndFeel());
|
||||
SwingUtilities.invokeAndWait(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
JFrame frame = new JFrame("bug8041725");
|
||||
frame.setSize(200, 200);
|
||||
JList list = new JList(new String[]{"Item1", "Item2", "Item3"});
|
||||
frame.getContentPane().add(list);
|
||||
frame.pack();
|
||||
frame.setVisible(true);
|
||||
|
||||
System.err.println("Test #1: No items are selected, list is enabled.");
|
||||
testSelectionColors(list);
|
||||
|
||||
System.err.println("Test #2: No items are selected, list is disabled.");
|
||||
list.setEnabled(false);
|
||||
testSelectionColors(list);
|
||||
|
||||
System.err.println("Test #3: One item is selected, list is disabled.");
|
||||
list.setSelectedIndex(0);
|
||||
testSelectionColors(list);
|
||||
|
||||
System.err.println("Test #4: One item is selected, list is enabled.");
|
||||
list.setEnabled(true);
|
||||
testSelectionColors(list);
|
||||
|
||||
frame.dispose();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private static void testSelectionColors(JList list) {
|
||||
Color selBackColor = list.getSelectionBackground();
|
||||
if (!(selBackColor instanceof UIResource)) {
|
||||
throw new RuntimeException(String.format(
|
||||
"JList.getSelectionBackground() returned instance of '%s' instead of UIResource.",
|
||||
selBackColor.getClass()));
|
||||
}
|
||||
Color selForeColor = list.getSelectionForeground();
|
||||
if (!(selForeColor instanceof UIResource)) {
|
||||
throw new RuntimeException(String.format(
|
||||
"JList.getSelectionForeground() returned instance of '%s' instead of UIResource.",
|
||||
selForeColor.getClass()));
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user