1 | /* |
2 | * Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved. |
3 | * |
4 | * Redistribution and use in source and binary forms, with or without |
5 | * modification, are permitted provided that the following conditions |
6 | * are met: |
7 | * |
8 | * -Redistributions of source code must retain the above copyright |
9 | * notice, this list of conditions and the following disclaimer. |
10 | * |
11 | * -Redistribution in binary form must reproduct the above copyright |
12 | * notice, this list of conditions and the following disclaimer in |
13 | * the documentation and/or other materials provided with the distribution. |
14 | * |
15 | * Neither the name of Sun Microsystems, Inc. or the names of contributors |
16 | * may be used to endorse or promote products derived from this software |
17 | * without specific prior written permission. |
18 | * |
19 | * This software is provided "AS IS," without a warranty of any kind. ALL |
20 | * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING |
21 | * ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE |
22 | * OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT |
23 | * BE LIABLE FOR ANY DAMAGES OR LIABILITIES SUFFERED BY LICENSEE AS A RESULT |
24 | * OF OR RELATING TO USE, MODIFICATION OR DISTRIBUTION OF THE SOFTWARE OR ITS |
25 | * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST |
26 | * REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, |
27 | * INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY |
28 | * OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE SOFTWARE, EVEN |
29 | * IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. |
30 | * |
31 | * You acknowledge that Software is not designed, licensed or intended for |
32 | * use in the design, construction, operation or maintenance of any nuclear |
33 | * facility. |
34 | */ |
35 | |
36 | /* |
37 | * @(#)ContrastTheme.java 1.8 03/01/23 |
38 | */ |
39 | |
40 | |
41 | import javax.swing.plaf.*; |
42 | import javax.swing.plaf.basic.*; |
43 | import javax.swing.plaf.metal.*; |
44 | import javax.swing.*; |
45 | import javax.swing.border.*; |
46 | import java.awt.*; |
47 | |
48 | /** |
49 | * This class describes a higher-contrast Metal Theme. |
50 | * |
51 | * @version 1.8 01/23/03 |
52 | * @author Michael C. Albers |
53 | */ |
54 | |
55 | public class ContrastTheme extends DefaultMetalTheme { |
56 | |
57 | public String getName() { return "Contrast"; } |
58 | |
59 | private final ColorUIResource primary1 = new ColorUIResource(0, 0, 0); |
60 | private final ColorUIResource primary2 = new ColorUIResource(204, 204, 204); |
61 | private final ColorUIResource primary3 = new ColorUIResource(255, 255, 255); |
62 | private final ColorUIResource primaryHighlight = new ColorUIResource(102,102,102); |
63 | |
64 | private final ColorUIResource secondary2 = new ColorUIResource(204, 204, 204); |
65 | private final ColorUIResource secondary3 = new ColorUIResource(255, 255, 255); |
66 | private final ColorUIResource controlHighlight = new ColorUIResource(102,102,102); |
67 | |
68 | protected ColorUIResource getPrimary1() { return primary1; } |
69 | protected ColorUIResource getPrimary2() { return primary2; } |
70 | protected ColorUIResource getPrimary3() { return primary3; } |
71 | public ColorUIResource getPrimaryControlHighlight() { return primaryHighlight;} |
72 | |
73 | protected ColorUIResource getSecondary2() { return secondary2; } |
74 | protected ColorUIResource getSecondary3() { return secondary3; } |
75 | public ColorUIResource getControlHighlight() { return super.getSecondary3(); } |
76 | |
77 | public ColorUIResource getFocusColor() { return getBlack(); } |
78 | |
79 | public ColorUIResource getTextHighlightColor() { return getBlack(); } |
80 | public ColorUIResource getHighlightedTextColor() { return getWhite(); } |
81 | |
82 | public ColorUIResource getMenuSelectedBackground() { return getBlack(); } |
83 | public ColorUIResource getMenuSelectedForeground() { return getWhite(); } |
84 | public ColorUIResource getAcceleratorForeground() { return getBlack(); } |
85 | public ColorUIResource getAcceleratorSelectedForeground() { return getWhite(); } |
86 | |
87 | |
88 | public void addCustomEntriesToTable(UIDefaults table) { |
89 | |
90 | Border blackLineBorder = new BorderUIResource(new LineBorder( getBlack() )); |
91 | |
92 | Object textBorder = new BorderUIResource( new CompoundBorder( |
93 | blackLineBorder, |
94 | new BasicBorders.MarginBorder())); |
95 | |
96 | table.put( "ToolTip.border", blackLineBorder); |
97 | table.put( "TitledBorder.border", blackLineBorder); |
98 | |
99 | table.put( "TextField.border", textBorder); |
100 | table.put( "PasswordField.border", textBorder); |
101 | table.put( "TextArea.border", textBorder); |
102 | table.put( "TextPane.border", textBorder); |
103 | table.put( "EditorPane.border", textBorder); |
104 | |
105 | |
106 | } |
107 | |
108 | } |