Source Code Cross Referenced for SampleMenuFactory.java in  » Swing-Library » substance-look-feel » test » check » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Swing Library » substance look feel » test.check 
Source Cross Referenced  Class Diagram Java Document (Java Doc) 


0001:        /*
0002:         * Copyright (c) 2005-2008 Substance Kirill Grouchnikov. All Rights Reserved.
0003:         *
0004:         * Redistribution and use in source and binary forms, with or without 
0005:         * modification, are permitted provided that the following conditions are met:
0006:         * 
0007:         *  o Redistributions of source code must retain the above copyright notice, 
0008:         *    this list of conditions and the following disclaimer. 
0009:         *     
0010:         *  o Redistributions in binary form must reproduce the above copyright notice, 
0011:         *    this list of conditions and the following disclaimer in the documentation 
0012:         *    and/or other materials provided with the distribution. 
0013:         *     
0014:         *  o Neither the name of Substance Kirill Grouchnikov nor the names of 
0015:         *    its contributors may be used to endorse or promote products derived 
0016:         *    from this software without specific prior written permission. 
0017:         *     
0018:         * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
0019:         * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
0020:         * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
0021:         * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 
0022:         * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
0023:         * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
0024:         * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 
0025:         * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
0026:         * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 
0027:         * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 
0028:         * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
0029:         */
0030:        package test.check;
0031:
0032:        import java.awt.Event;
0033:        import java.awt.Frame;
0034:        import java.awt.event.*;
0035:        import java.util.LinkedList;
0036:        import java.util.Map;
0037:
0038:        import javax.swing.*;
0039:
0040:        import org.jvnet.substance.SubstanceImageCreator;
0041:        import org.jvnet.substance.SubstanceLookAndFeel;
0042:        import org.jvnet.substance.skin.SkinInfo;
0043:        import org.jvnet.substance.skin.SubstanceSkin;
0044:        import org.jvnet.substance.theme.*;
0045:        import org.jvnet.substance.theme.SubstanceTheme.ThemeKind;
0046:        import org.jvnet.substance.utils.menu.TraitMenuHandler;
0047:
0048:        import test.Check;
0049:
0050:        /**
0051:         * Factory that creates menus for the test applications.
0052:         * 
0053:         * @author Kirill Grouchnikov
0054:         */
0055:        public class SampleMenuFactory {
0056:            /**
0057:             * Returns the menu for changing the themes.
0058:             * 
0059:             * @return The menu for changing the themes.
0060:             */
0061:            public static JMenu getThemeMenu() {
0062:                Map<String, ThemeInfo> allThemes = SubstanceLookAndFeel
0063:                        .getAllThemes();
0064:
0065:                final TraitMenuHandler themeMenuHandler = new TraitMenuHandler();
0066:                JMenu themeMenu = new JMenu("Theme");
0067:                JMenu brightThemes = new JMenu(SubstanceLookAndFeel
0068:                        .getLabelBundle().getString("SystemMenu.themesBright"));
0069:                JMenu coldThemes = new JMenu(SubstanceLookAndFeel
0070:                        .getLabelBundle().getString("SystemMenu.themesCold"));
0071:                JMenu darkThemes = new JMenu(SubstanceLookAndFeel
0072:                        .getLabelBundle().getString("SystemMenu.themesDark"));
0073:                JMenu invertedThemes = SubstanceLookAndFeel
0074:                        .toEnableInvertedThemes() ? new JMenu(
0075:                        SubstanceLookAndFeel.getLabelBundle().getString(
0076:                                "SystemMenu.themesInverted")) : null;
0077:                JMenu negatedThemes = SubstanceLookAndFeel
0078:                        .toEnableNegatedThemes() ? new JMenu(
0079:                        SubstanceLookAndFeel.getLabelBundle().getString(
0080:                                "SystemMenu.themesNegated")) : null;
0081:                JMenu mixedThemes = SubstanceLookAndFeel.hasMixedThemes() ? new JMenu(
0082:                        SubstanceLookAndFeel.getLabelBundle().getString(
0083:                                "SystemMenu.themesMixed"))
0084:                        : null;
0085:                JMenu jmShiftTheme = new JMenu("Shift themes");
0086:
0087:                themeMenu.add(brightThemes);
0088:                themeMenu.add(coldThemes);
0089:                themeMenu.add(darkThemes);
0090:                if (invertedThemes != null)
0091:                    themeMenu.add(invertedThemes);
0092:                if (negatedThemes != null)
0093:                    themeMenu.add(negatedThemes);
0094:                if (mixedThemes != null)
0095:                    themeMenu.add(mixedThemes);
0096:
0097:                for (Map.Entry<String, ThemeInfo> themeEntry : allThemes
0098:                        .entrySet()) {
0099:                    final ThemeInfo themeInfo = themeEntry.getValue();
0100:                    final String themeClassName = themeInfo.getClassName();
0101:                    JRadioButtonMenuItem jmiTheme = new JRadioButtonMenuItem(
0102:                            themeEntry.getKey());
0103:                    themeMenuHandler.addTraitButton(themeInfo.getDisplayName(),
0104:                            jmiTheme);
0105:                    jmiTheme.addActionListener(new ActionListener() {
0106:                        public void actionPerformed(ActionEvent e) {
0107:                            setTheme(themeInfo);
0108:                        }
0109:                    });
0110:                    try {
0111:                        switch (themeInfo.getThemeKind()) {
0112:                        case MIXED:
0113:                            MixedThemeInfo mixedThemeInfo = (MixedThemeInfo) themeInfo;
0114:                            String[] themeClassNames = mixedThemeInfo
0115:                                    .getThemeClassNames();
0116:                            SubstanceTheme[] themeInstances = new SubstanceTheme[themeClassNames.length];
0117:                            for (int i = 0; i < themeClassNames.length; i++) {
0118:                                Class<?> themeClass = Class
0119:                                        .forName(themeClassNames[i]);
0120:                                themeInstances[i] = (SubstanceTheme) themeClass
0121:                                        .newInstance();
0122:                            }
0123:
0124:                            SubstanceTheme mixTheme = new SubstanceMixTheme(
0125:                                    themeInstances);
0126:                            jmiTheme.setIcon(SubstanceImageCreator
0127:                                    .getThemeIcon(mixTheme));
0128:                            break;
0129:                        default:
0130:                            Class<?> themeClass = Class.forName(themeClassName);
0131:                            SubstanceTheme theme = (SubstanceTheme) themeClass
0132:                                    .newInstance();
0133:                            if (themeInfo.getThemeKind() == ThemeKind.INVERTED)
0134:                                theme = new SubstanceInvertedTheme(theme);
0135:                            if (themeInfo.getThemeKind() == ThemeKind.NEGATED)
0136:                                theme = new SubstanceNegatedTheme(theme);
0137:                            jmiTheme.setIcon(SubstanceImageCreator
0138:                                    .getThemeIcon(theme));
0139:                        }
0140:                    } catch (Exception exc) {
0141:                        continue;
0142:                    }
0143:                    if (themeEntry.getKey().equals(
0144:                            SubstanceLookAndFeel.getCurrentThemeName())) {
0145:                        jmiTheme.setSelected(true);
0146:                    }
0147:                    switch (themeEntry.getValue().getThemeKind()) {
0148:                    case BRIGHT:
0149:                        brightThemes.add(jmiTheme);
0150:                        break;
0151:                    case COLD:
0152:                        coldThemes.add(jmiTheme);
0153:                        break;
0154:                    case DARK:
0155:                        darkThemes.add(jmiTheme);
0156:                        break;
0157:                    case INVERTED:
0158:                        invertedThemes.add(jmiTheme);
0159:                        break;
0160:                    case NEGATED:
0161:                        negatedThemes.add(jmiTheme);
0162:                        break;
0163:                    case MIXED:
0164:                        mixedThemes.add(jmiTheme);
0165:                        break;
0166:                    // case DARK_MIXED:
0167:                    // mixedDarkThemes.add(jmiTheme);
0168:                    // break;
0169:                    }
0170:                }
0171:
0172:                ThemeChangeListener themeChangeListener = new ThemeChangeListener() {
0173:                    public void themeChanged() {
0174:                        themeMenuHandler.selectTraitButton(SubstanceLookAndFeel
0175:                                .getTheme());
0176:                    }
0177:                };
0178:                SubstanceLookAndFeel
0179:                        .registerThemeChangeListener(themeChangeListener);
0180:
0181:                JMenuItem jmiAquaTint10Theme = new JMenuItem("Tint Aqua 10%");
0182:                jmiAquaTint10Theme.addActionListener(new ActionListener() {
0183:                    public void actionPerformed(ActionEvent e) {
0184:                        setTheme(new SubstanceAquaTheme().tint(0.1));
0185:                    }
0186:                });
0187:                jmShiftTheme.add(jmiAquaTint10Theme);
0188:
0189:                JMenuItem jmiAquaTint25Theme = new JMenuItem("Tint Aqua 25%");
0190:                jmiAquaTint25Theme.addActionListener(new ActionListener() {
0191:                    public void actionPerformed(ActionEvent e) {
0192:                        setTheme(new SubstanceAquaTheme().tint(0.25));
0193:                    }
0194:                });
0195:                jmShiftTheme.add(jmiAquaTint25Theme);
0196:
0197:                JMenuItem jmiAquaTint40Theme = new JMenuItem("Tint Aqua 40%");
0198:                jmiAquaTint40Theme.addActionListener(new ActionListener() {
0199:                    public void actionPerformed(ActionEvent e) {
0200:                        setTheme(new SubstanceAquaTheme().tint(0.4));
0201:                    }
0202:                });
0203:                jmShiftTheme.add(jmiAquaTint40Theme);
0204:
0205:                JMenuItem jmiAquaTone10Theme = new JMenuItem("Tone Aqua 10%");
0206:                jmiAquaTone10Theme.addActionListener(new ActionListener() {
0207:                    public void actionPerformed(ActionEvent e) {
0208:                        setTheme(new SubstanceAquaTheme().tone(0.1));
0209:                    }
0210:                });
0211:                jmShiftTheme.add(jmiAquaTone10Theme);
0212:
0213:                JMenuItem jmiAquaTone25Theme = new JMenuItem("Tone Aqua 25%");
0214:                jmiAquaTone25Theme.addActionListener(new ActionListener() {
0215:                    public void actionPerformed(ActionEvent e) {
0216:                        setTheme(new SubstanceAquaTheme().tone(0.25));
0217:                    }
0218:                });
0219:                jmShiftTheme.add(jmiAquaTone25Theme);
0220:
0221:                JMenuItem jmiAquaTone40Theme = new JMenuItem("Tone Aqua 40%");
0222:                jmiAquaTone40Theme.addActionListener(new ActionListener() {
0223:                    public void actionPerformed(ActionEvent e) {
0224:                        setTheme(new SubstanceAquaTheme().tone(0.4));
0225:                    }
0226:                });
0227:                jmShiftTheme.add(jmiAquaTone40Theme);
0228:
0229:                JMenuItem jmiAquaShade10Theme = new JMenuItem("Shade Aqua 10%");
0230:                jmiAquaShade10Theme.addActionListener(new ActionListener() {
0231:                    public void actionPerformed(ActionEvent e) {
0232:                        setTheme(new SubstanceAquaTheme().shade(0.1));
0233:                    }
0234:                });
0235:                jmShiftTheme.add(jmiAquaShade10Theme);
0236:
0237:                JMenuItem jmiAquaShade25Theme = new JMenuItem("Shade Aqua 25%");
0238:                jmiAquaShade25Theme.addActionListener(new ActionListener() {
0239:                    public void actionPerformed(ActionEvent e) {
0240:                        setTheme(new SubstanceAquaTheme().shade(0.25));
0241:                    }
0242:                });
0243:                jmShiftTheme.add(jmiAquaShade25Theme);
0244:
0245:                JMenuItem jmiAquaShade40Theme = new JMenuItem("Shade Aqua 40%");
0246:                jmiAquaShade40Theme.addActionListener(new ActionListener() {
0247:                    public void actionPerformed(ActionEvent e) {
0248:                        setTheme(new SubstanceAquaTheme().shade(0.4));
0249:                    }
0250:                });
0251:                jmShiftTheme.add(jmiAquaShade40Theme);
0252:
0253:                JMenuItem jmiSteelBlueTone25Theme = new JMenuItem(
0254:                        "Tone Steel Blue 25%");
0255:                jmiSteelBlueTone25Theme.addActionListener(new ActionListener() {
0256:                    public void actionPerformed(ActionEvent e) {
0257:                        setTheme(new SubstanceSteelBlueTheme().tone(0.25));
0258:                    }
0259:                });
0260:                jmShiftTheme.add(jmiSteelBlueTone25Theme);
0261:
0262:                JMenuItem jmiLimeGreenShade25Theme = new JMenuItem(
0263:                        "Shade Lime Green 25%");
0264:                jmiLimeGreenShade25Theme
0265:                        .addActionListener(new ActionListener() {
0266:                            public void actionPerformed(ActionEvent e) {
0267:                                setTheme(new SubstanceLimeGreenTheme()
0268:                                        .shade(0.25));
0269:                            }
0270:                        });
0271:                jmShiftTheme.add(jmiLimeGreenShade25Theme);
0272:
0273:                JMenuItem jmiBarbyPinkTint25Theme = new JMenuItem(
0274:                        "Tint Barby Pink 25%");
0275:                jmiBarbyPinkTint25Theme.addActionListener(new ActionListener() {
0276:                    public void actionPerformed(ActionEvent e) {
0277:                        setTheme(new SubstanceBarbyPinkTheme().tint(0.25));
0278:                    }
0279:                });
0280:                jmShiftTheme.add(jmiBarbyPinkTint25Theme);
0281:
0282:                JMenuItem jmiAquaBottleGreenMixTint25Theme = new JMenuItem(
0283:                        "Tint Aqua Bottle Green Mix 25%");
0284:                jmiAquaBottleGreenMixTint25Theme
0285:                        .addActionListener(new ActionListener() {
0286:                            public void actionPerformed(ActionEvent e) {
0287:                                setTheme(new SubstanceMixTheme(
0288:                                        new SubstanceAquaTheme(),
0289:                                        new SubstanceBottleGreenTheme())
0290:                                        .tint(0.25));
0291:                            }
0292:                        });
0293:                jmShiftTheme.add(jmiAquaBottleGreenMixTint25Theme);
0294:
0295:                JMenuItem jmiAquaDesaturate50Theme = new JMenuItem(
0296:                        "Aqua Desaturate 50%");
0297:                jmiAquaDesaturate50Theme
0298:                        .addActionListener(new ActionListener() {
0299:                            public void actionPerformed(ActionEvent e) {
0300:                                setTheme(new SubstanceAquaTheme()
0301:                                        .saturate(-0.5));
0302:                            }
0303:                        });
0304:                jmShiftTheme.add(jmiAquaDesaturate50Theme);
0305:
0306:                JMenuItem jmiAquaSaturate50Theme = new JMenuItem(
0307:                        "Aqua Saturate 50%");
0308:                jmiAquaSaturate50Theme.addActionListener(new ActionListener() {
0309:                    public void actionPerformed(ActionEvent e) {
0310:                        setTheme(new SubstanceAquaTheme().saturate(0.5));
0311:                    }
0312:                });
0313:                jmShiftTheme.add(jmiAquaSaturate50Theme);
0314:
0315:                jmShiftTheme.addSeparator();
0316:
0317:                JMenuItem jmiGreenBlendTheme = new JMenuItem("Green aqua blend");
0318:                jmiGreenBlendTheme.addActionListener(new ActionListener() {
0319:                    public void actionPerformed(ActionEvent e) {
0320:                        setTheme(new SubstanceMixTheme(
0321:                                new SubstanceBlendBiTheme(
0322:                                        new SubstanceBottleGreenTheme(),
0323:                                        new SubstanceLimeGreenTheme(), 0.6),
0324:                                new SubstanceBlendBiTheme(
0325:                                        new SubstancePurpleTheme(),
0326:                                        new SubstanceAquaTheme(), 0.4)));
0327:                    }
0328:                });
0329:                jmShiftTheme.add(jmiGreenBlendTheme);
0330:
0331:                themeMenu.add(jmShiftTheme);
0332:
0333:                themeMenu.addSeparator();
0334:
0335:                JMenu changeTheme = new JMenu("Change current");
0336:
0337:                JMenuItem invertCurrent = new JMenuItem("Inverted current");
0338:                invertCurrent.addActionListener(new ActionListener() {
0339:                    public void actionPerformed(ActionEvent e) {
0340:                        setTheme(SubstanceLookAndFeel.getTheme().invert());
0341:                    }
0342:                });
0343:                changeTheme.add(invertCurrent);
0344:
0345:                JMenuItem negateCurrent = new JMenuItem("Negated current");
0346:                negateCurrent.addActionListener(new ActionListener() {
0347:                    public void actionPerformed(ActionEvent e) {
0348:                        setTheme(SubstanceLookAndFeel.getTheme().negate());
0349:                    }
0350:                });
0351:                changeTheme.add(negateCurrent);
0352:
0353:                changeTheme.addSeparator();
0354:
0355:                JMenuItem tintCurrent = new JMenuItem("Tinted current");
0356:                tintCurrent.addActionListener(new ActionListener() {
0357:                    public void actionPerformed(ActionEvent e) {
0358:                        setTheme(SubstanceLookAndFeel.getTheme().tint(0.3));
0359:                    }
0360:                });
0361:                changeTheme.add(tintCurrent);
0362:
0363:                JMenuItem toneCurrent = new JMenuItem("Toned current");
0364:                toneCurrent.addActionListener(new ActionListener() {
0365:                    public void actionPerformed(ActionEvent e) {
0366:                        setTheme(SubstanceLookAndFeel.getTheme().tone(0.3));
0367:                    }
0368:                });
0369:                changeTheme.add(toneCurrent);
0370:
0371:                JMenuItem shadeCurrent = new JMenuItem("Shaded current");
0372:                shadeCurrent.addActionListener(new ActionListener() {
0373:                    public void actionPerformed(ActionEvent e) {
0374:                        setTheme(SubstanceLookAndFeel.getTheme().shade(0.3));
0375:                    }
0376:                });
0377:                changeTheme.add(shadeCurrent);
0378:
0379:                changeTheme.addSeparator();
0380:
0381:                JMenuItem saturateCurrent = new JMenuItem("Saturated current");
0382:                saturateCurrent.addActionListener(new ActionListener() {
0383:                    public void actionPerformed(ActionEvent e) {
0384:                        setTheme(SubstanceLookAndFeel.getTheme().saturate(0.3));
0385:                    }
0386:                });
0387:                changeTheme.add(saturateCurrent);
0388:
0389:                JMenuItem saturateActiveCurrent = new JMenuItem(
0390:                        "Saturated active current");
0391:                saturateActiveCurrent.addActionListener(new ActionListener() {
0392:                    public void actionPerformed(ActionEvent e) {
0393:                        setTheme(SubstanceLookAndFeel.getTheme().saturate(0.3,
0394:                                false));
0395:                    }
0396:                });
0397:                changeTheme.add(saturateActiveCurrent);
0398:
0399:                JMenuItem desaturateCurrent = new JMenuItem(
0400:                        "Desaturated current");
0401:                desaturateCurrent.addActionListener(new ActionListener() {
0402:                    public void actionPerformed(ActionEvent e) {
0403:                        setTheme(SubstanceLookAndFeel.getTheme().saturate(-0.3));
0404:                    }
0405:                });
0406:                changeTheme.add(desaturateCurrent);
0407:
0408:                JMenuItem desaturateActiveCurrent = new JMenuItem(
0409:                        "Desaturated active current");
0410:                desaturateActiveCurrent.addActionListener(new ActionListener() {
0411:                    public void actionPerformed(ActionEvent e) {
0412:                        setTheme(SubstanceLookAndFeel.getTheme().saturate(-0.3,
0413:                                false));
0414:                    }
0415:                });
0416:                changeTheme.add(desaturateActiveCurrent);
0417:
0418:                changeTheme.addSeparator();
0419:
0420:                JMenuItem hueShiftCurrent_p002 = new JMenuItem(
0421:                        "Hue-shift current 0.02");
0422:                hueShiftCurrent_p002.addActionListener(new ActionListener() {
0423:                    public void actionPerformed(ActionEvent e) {
0424:                        setTheme(SubstanceLookAndFeel.getTheme().hueShift(0.02));
0425:                    }
0426:                });
0427:                changeTheme.add(hueShiftCurrent_p002);
0428:
0429:                JMenuItem hueShiftCurrent_m002 = new JMenuItem(
0430:                        "Hue-shift current -0.02");
0431:                hueShiftCurrent_m002.addActionListener(new ActionListener() {
0432:                    public void actionPerformed(ActionEvent e) {
0433:                        setTheme(SubstanceLookAndFeel.getTheme()
0434:                                .hueShift(-0.02));
0435:                    }
0436:                });
0437:                changeTheme.add(hueShiftCurrent_m002);
0438:
0439:                JMenuItem hueShiftCurrent_p01 = new JMenuItem(
0440:                        "Hue-shift current 0.1");
0441:                hueShiftCurrent_p01.addActionListener(new ActionListener() {
0442:                    public void actionPerformed(ActionEvent e) {
0443:                        setTheme(SubstanceLookAndFeel.getTheme().hueShift(0.1));
0444:                    }
0445:                });
0446:                changeTheme.add(hueShiftCurrent_p01);
0447:
0448:                JMenuItem hueShiftCurrent_m01 = new JMenuItem(
0449:                        "Hue-shift current -0.1");
0450:                hueShiftCurrent_m01.addActionListener(new ActionListener() {
0451:                    public void actionPerformed(ActionEvent e) {
0452:                        setTheme(SubstanceLookAndFeel.getTheme().hueShift(-0.1));
0453:                    }
0454:                });
0455:                changeTheme.add(hueShiftCurrent_m01);
0456:
0457:                JMenuItem hueShiftCurrent_p05 = new JMenuItem(
0458:                        "Hue-shift current 0.5");
0459:                hueShiftCurrent_p05.addActionListener(new ActionListener() {
0460:                    public void actionPerformed(ActionEvent e) {
0461:                        setTheme(SubstanceLookAndFeel.getTheme().hueShift(0.5));
0462:                    }
0463:                });
0464:                changeTheme.add(hueShiftCurrent_p05);
0465:
0466:                JMenuItem hueShiftCurrent_m05 = new JMenuItem(
0467:                        "Hue-shift current -0.5");
0468:                hueShiftCurrent_m05.addActionListener(new ActionListener() {
0469:                    public void actionPerformed(ActionEvent e) {
0470:                        setTheme(SubstanceLookAndFeel.getTheme().hueShift(-0.5));
0471:                    }
0472:                });
0473:                changeTheme.add(hueShiftCurrent_m05);
0474:
0475:                changeTheme.addSeparator();
0476:
0477:                final JMenuItem restoreOrig = new JMenuItem("Restore original");
0478:                restoreOrig
0479:                        .setEnabled(SubstanceLookAndFeel.getTheme() instanceof  SubstanceWrapperTheme);
0480:                restoreOrig.addActionListener(new ActionListener() {
0481:                    public void actionPerformed(ActionEvent e) {
0482:                        setTheme(((SubstanceWrapperTheme) SubstanceLookAndFeel
0483:                                .getTheme()).getOriginalTheme());
0484:                    }
0485:                });
0486:                SubstanceLookAndFeel
0487:                        .registerThemeChangeListener(new ThemeChangeListener() {
0488:                            public void themeChanged() {
0489:                                restoreOrig
0490:                                        .setEnabled(SubstanceLookAndFeel
0491:                                                .getTheme() instanceof  SubstanceWrapperTheme);
0492:                            }
0493:                        });
0494:                changeTheme.add(restoreOrig);
0495:
0496:                themeMenu.add(changeTheme);
0497:
0498:                JMenu cbMenu = new JMenu("Color blindness");
0499:                JMenuItem protanopiaCurrent = new JMenuItem(
0500:                        "Protanopia current");
0501:                protanopiaCurrent.addActionListener(new ActionListener() {
0502:                    public void actionPerformed(ActionEvent e) {
0503:                        setTheme(SubstanceLookAndFeel.getTheme().protanopia());
0504:                    }
0505:                });
0506:                cbMenu.add(protanopiaCurrent);
0507:                JMenuItem deuteranopiaCurrent = new JMenuItem(
0508:                        "Deuteranopia current");
0509:                deuteranopiaCurrent.addActionListener(new ActionListener() {
0510:                    public void actionPerformed(ActionEvent e) {
0511:                        setTheme(SubstanceLookAndFeel.getTheme().deuteranopia());
0512:                    }
0513:                });
0514:                cbMenu.add(deuteranopiaCurrent);
0515:                JMenuItem tritanopiaCurrent = new JMenuItem(
0516:                        "Tritanopia current");
0517:                tritanopiaCurrent.addActionListener(new ActionListener() {
0518:                    public void actionPerformed(ActionEvent e) {
0519:                        setTheme(SubstanceLookAndFeel.getTheme().tritanopia());
0520:                    }
0521:                });
0522:                cbMenu.add(tritanopiaCurrent);
0523:                themeMenu.add(cbMenu);
0524:
0525:                themeMenu.addSeparator();
0526:
0527:                JMenuItem jmiCaribbeanBlueTheme = new JMenuItem(
0528:                        "User - Caribbean blue");
0529:                jmiCaribbeanBlueTheme.addActionListener(new ActionListener() {
0530:                    public void actionPerformed(ActionEvent e) {
0531:                        setTheme(new SubstanceTheme(
0532:                                new CaribbeanBlueColorScheme(),
0533:                                "Caribbean blue",
0534:                                SubstanceTheme.ThemeKind.BRIGHT));
0535:                    }
0536:                });
0537:                themeMenu.add(jmiCaribbeanBlueTheme);
0538:
0539:                JMenuItem jmiCrimsonTheme = new JMenuItem("User - Crimson");
0540:                jmiCrimsonTheme.addActionListener(new ActionListener() {
0541:                    public void actionPerformed(ActionEvent e) {
0542:                        setTheme(new SubstanceTheme(new CrimsonColorScheme(),
0543:                                "Crimson", SubstanceTheme.ThemeKind.BRIGHT));
0544:                    }
0545:                });
0546:                themeMenu.add(jmiCrimsonTheme);
0547:
0548:                return themeMenu;
0549:            }
0550:
0551:            /**
0552:             * Sets the specified theme.
0553:             * 
0554:             * @param theme
0555:             *            Theme to set.
0556:             */
0557:            public static void setTheme(final SubstanceTheme theme) {
0558:                SwingUtilities.invokeLater(new Runnable() {
0559:                    public void run() {
0560:                        try {
0561:                            SubstanceLookAndFeel.setCurrentTheme(theme);
0562:                        } catch (Exception exc) {
0563:                            exc.printStackTrace();
0564:                        }
0565:                        for (Frame frame : Frame.getFrames())
0566:                            SwingUtilities.updateComponentTreeUI(frame);
0567:                    }
0568:                });
0569:            }
0570:
0571:            /**
0572:             * Sets the specified theme.
0573:             * 
0574:             * @param themeInfo
0575:             *            Theme information object.
0576:             */
0577:            public static void setTheme(final ThemeInfo themeInfo) {
0578:                SwingUtilities.invokeLater(new Runnable() {
0579:                    public void run() {
0580:                        try {
0581:                            SubstanceLookAndFeel.setCurrentTheme(themeInfo);
0582:                        } catch (Exception exc) {
0583:                            exc.printStackTrace();
0584:                        }
0585:                        for (Frame frame : Frame.getFrames())
0586:                            SwingUtilities.updateComponentTreeUI(frame);
0587:                    }
0588:                });
0589:            }
0590:
0591:            /**
0592:             * Returns a sample test menu.
0593:             * 
0594:             * @return Sample test menu.
0595:             */
0596:            public static JMenu getTestMenu() {
0597:                JMenu testMenu = new JMenu("Test");
0598:                testMenu.setMnemonic('1');
0599:                int mcount = 0;
0600:                for (LinkedList<JMenuItem> miList : getTestMenuItems()) {
0601:                    if (mcount > 0) {
0602:                        if (mcount % 2 == 0)
0603:                            testMenu.addSeparator();
0604:                        else
0605:                            testMenu.add(new JSeparator());
0606:                    }
0607:                    for (JMenuItem menuItem : miList) {
0608:                        testMenu.add(menuItem);
0609:                    }
0610:                    mcount++;
0611:                }
0612:
0613:                return testMenu;
0614:            }
0615:
0616:            /**
0617:             * Returns menu items for a sample test menu.
0618:             * 
0619:             * @return Menu items for a sample test menu.
0620:             */
0621:            public static LinkedList<LinkedList<JMenuItem>> getTestMenuItems() {
0622:                LinkedList<LinkedList<JMenuItem>> result = new LinkedList<LinkedList<JMenuItem>>();
0623:                LinkedList<JMenuItem> list1 = new LinkedList<JMenuItem>();
0624:                final JMenuItem jmi1 = new JMenuItem("Menu item enabled", Check
0625:                        .getIcon("flag_sweden"));
0626:                jmi1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,
0627:                        Event.CTRL_MASK));
0628:                JMenuItem jmi2 = new JMenuItem("Menu item disabled");
0629:                jmi2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_B,
0630:                        Event.CTRL_MASK | Event.ALT_MASK));
0631:                jmi2.setEnabled(false);
0632:
0633:                list1.add(jmi1);
0634:                list1.add(jmi2);
0635:                result.add(list1);
0636:
0637:                LinkedList<JMenuItem> list2 = new LinkedList<JMenuItem>();
0638:                final JCheckBoxMenuItem jcbmi1 = new JCheckBoxMenuItem(
0639:                        "Check enabled selected", SubstanceImageCreator
0640:                                .getHexaMarker(2, SubstanceLookAndFeel
0641:                                        .getTheme()));
0642:                jcbmi1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,
0643:                        Event.CTRL_MASK));
0644:                jcbmi1.setSelected(true);
0645:                JCheckBoxMenuItem jcbmi2 = new JCheckBoxMenuItem(
0646:                        "Check enabled unselected");
0647:                jcbmi2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D,
0648:                        Event.CTRL_MASK));
0649:                jcbmi2.setSelected(false);
0650:                JCheckBoxMenuItem jcbmi3 = new JCheckBoxMenuItem(
0651:                        "Check disabled selected");
0652:                jcbmi3.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,
0653:                        Event.CTRL_MASK));
0654:                jcbmi3.setSelected(true);
0655:                jcbmi3.setEnabled(false);
0656:                final JCheckBoxMenuItem jcbmi4 = new JCheckBoxMenuItem(
0657:                        "Check disabled unselected", SubstanceImageCreator
0658:                                .getHexaMarker(3, SubstanceLookAndFeel
0659:                                        .getTheme()));
0660:                jcbmi4.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F,
0661:                        Event.CTRL_MASK));
0662:                jcbmi4.setSelected(false);
0663:                jcbmi4.setEnabled(false);
0664:
0665:                list2.add(jcbmi1);
0666:                list2.add(jcbmi2);
0667:                list2.add(jcbmi3);
0668:                list2.add(jcbmi4);
0669:                result.add(list2);
0670:
0671:                LinkedList<JMenuItem> list3 = new LinkedList<JMenuItem>();
0672:                final JRadioButtonMenuItem jrbmi1 = new JRadioButtonMenuItem(
0673:                        "Radio enabled selected", SubstanceImageCreator
0674:                                .getHexaMarker(4, SubstanceLookAndFeel
0675:                                        .getTheme()));
0676:                jrbmi1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_G,
0677:                        Event.CTRL_MASK));
0678:                jrbmi1.setSelected(true);
0679:                JRadioButtonMenuItem jrbmi2 = new JRadioButtonMenuItem(
0680:                        "Radio enabled unselected");
0681:                jrbmi2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H,
0682:                        Event.CTRL_MASK));
0683:                jrbmi2.setSelected(false);
0684:                ButtonGroup bgRadioMenu1 = new ButtonGroup();
0685:                bgRadioMenu1.add(jrbmi1);
0686:                bgRadioMenu1.add(jrbmi2);
0687:                JRadioButtonMenuItem jrbmi3 = new JRadioButtonMenuItem(
0688:                        "Radio disabled selected");
0689:                jrbmi3.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_I,
0690:                        Event.CTRL_MASK));
0691:                jrbmi3.setSelected(true);
0692:                jrbmi3.setEnabled(false);
0693:                JRadioButtonMenuItem jrbmi4 = new JRadioButtonMenuItem(
0694:                        "Radio disabled unselected");
0695:                jrbmi4.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_J,
0696:                        Event.CTRL_MASK));
0697:                jrbmi4.setSelected(false);
0698:                jrbmi4.setEnabled(false);
0699:                ButtonGroup bgRadioMenu2 = new ButtonGroup();
0700:                bgRadioMenu2.add(jrbmi3);
0701:                bgRadioMenu2.add(jrbmi4);
0702:
0703:                list3.add(jrbmi1);
0704:                list3.add(jrbmi2);
0705:                list3.add(jrbmi3);
0706:                list3.add(jrbmi4);
0707:                result.add(list3);
0708:
0709:                LinkedList<JMenuItem> list4 = new LinkedList<JMenuItem>();
0710:                JMenu submenu1 = new JMenu("submenu1");
0711:                submenu1.add(new JMenuItem("submenu item1"));
0712:                submenu1.add(new JMenuItem("submenu item2"));
0713:                submenu1.add(new JMenuItem("submenu item3"));
0714:                final JMenu submenu11 = new JMenu("submenu1-1");
0715:                submenu11.setIcon(SubstanceImageCreator.getHexaMarker(5,
0716:                        SubstanceLookAndFeel.getTheme()));
0717:                submenu11.add(new JMenuItem("submenu item111"));
0718:                submenu11.add(new JMenuItem("submenu item112"));
0719:                submenu11.add(new JMenuItem("submenu item113"));
0720:                submenu11.add(new JMenuItem("submenu item114"));
0721:                submenu1.add(submenu11);
0722:                final JMenu submenu12 = new JMenu("submenu1-2");
0723:                submenu12.setIcon(SubstanceImageCreator.getHexaMarker(5,
0724:                        SubstanceLookAndFeel.getTheme()));
0725:                submenu12.add(new JMenuItem("submenu item121"));
0726:                submenu12.add(new JMenuItem("submenu item122"));
0727:                submenu12.add(new JMenuItem("submenu item123"));
0728:                submenu12.add(new JMenuItem("submenu item124"));
0729:                submenu1.add(submenu12);
0730:                final JMenu submenu13 = new JMenu("submenu1-3");
0731:                submenu13.setIcon(SubstanceImageCreator.getHexaMarker(5,
0732:                        SubstanceLookAndFeel.getTheme()));
0733:                submenu13.add(new JMenuItem("submenu item131"));
0734:                submenu13.add(new JMenuItem("submenu item132"));
0735:                submenu13.add(new JMenuItem("submenu item133"));
0736:                submenu13.add(new JMenuItem("submenu item134"));
0737:                submenu13.add(new JMenuItem("submenu item135"));
0738:                submenu1.add(submenu13);
0739:                list4.add(submenu1);
0740:
0741:                JMenu submenu2 = new JMenu("submenu2");
0742:                submenu2.add(new JMenuItem("submenu item1"));
0743:                submenu2.add(new JMenuItem("submenu item2"));
0744:                submenu2.add(new JMenuItem("submenu item3"));
0745:                final JMenu submenu21 = new JMenu("submenu2-1");
0746:                submenu21.setIcon(SubstanceImageCreator.getHexaMarker(5,
0747:                        SubstanceLookAndFeel.getTheme()));
0748:                submenu21.add(new JMenuItem("submenu item211"));
0749:                submenu21.add(new JMenuItem("submenu item212"));
0750:                submenu21.add(new JMenuItem("submenu item213"));
0751:                submenu21.add(new JMenuItem("submenu item214"));
0752:                submenu2.add(submenu21);
0753:                final JMenu submenu22 = new JMenu("submenu2-2");
0754:                submenu22.setIcon(SubstanceImageCreator.getHexaMarker(5,
0755:                        SubstanceLookAndFeel.getTheme()));
0756:                submenu22.add(new JMenuItem("submenu item221"));
0757:                submenu22.add(new JMenuItem("submenu item222"));
0758:                submenu22.add(new JMenuItem("submenu item223"));
0759:                submenu22.add(new JMenuItem("submenu item224"));
0760:                submenu2.add(submenu22);
0761:                final JMenu submenu23 = new JMenu("submenu2-3");
0762:                submenu23.setIcon(SubstanceImageCreator.getHexaMarker(5,
0763:                        SubstanceLookAndFeel.getTheme()));
0764:                submenu23.add(new JMenuItem("submenu item231"));
0765:                submenu23.add(new JMenuItem("submenu item232"));
0766:                submenu23.add(new JMenuItem("submenu item233"));
0767:                submenu23.add(new JMenuItem("submenu item234"));
0768:                submenu2.add(submenu23);
0769:                list4.add(submenu2);
0770:
0771:                JMenu submenu3 = new JMenu("submenu3 (disabled)");
0772:                submenu3.setEnabled(false);
0773:                list4.add(submenu3);
0774:
0775:                result.add(list4);
0776:
0777:                SubstanceLookAndFeel
0778:                        .registerThemeChangeListener(new ThemeChangeListener() {
0779:                            public void themeChanged() {
0780:                                // jmi1.setIcon(SubstanceImageCreator.getHexaMarker(1,
0781:                                // SubstanceLookAndFeel.getTheme()));
0782:                                jcbmi1.setIcon(SubstanceImageCreator
0783:                                        .getHexaMarker(2, SubstanceLookAndFeel
0784:                                                .getTheme()));
0785:                                jcbmi4.setIcon(SubstanceImageCreator
0786:                                        .getHexaMarker(3, SubstanceLookAndFeel
0787:                                                .getTheme()));
0788:                                jrbmi1.setIcon(SubstanceImageCreator
0789:                                        .getHexaMarker(4, SubstanceLookAndFeel
0790:                                                .getTheme()));
0791:                                submenu11.setIcon(SubstanceImageCreator
0792:                                        .getHexaMarker(5, SubstanceLookAndFeel
0793:                                                .getTheme()));
0794:                                submenu12.setIcon(SubstanceImageCreator
0795:                                        .getHexaMarker(5, SubstanceLookAndFeel
0796:                                                .getTheme()));
0797:                                submenu13.setIcon(SubstanceImageCreator
0798:                                        .getHexaMarker(5, SubstanceLookAndFeel
0799:                                                .getTheme()));
0800:                                submenu21.setIcon(SubstanceImageCreator
0801:                                        .getHexaMarker(5, SubstanceLookAndFeel
0802:                                                .getTheme()));
0803:                                submenu22.setIcon(SubstanceImageCreator
0804:                                        .getHexaMarker(5, SubstanceLookAndFeel
0805:                                                .getTheme()));
0806:                                submenu23.setIcon(SubstanceImageCreator
0807:                                        .getHexaMarker(5, SubstanceLookAndFeel
0808:                                                .getTheme()));
0809:                            }
0810:                        });
0811:
0812:                return result;
0813:            }
0814:
0815:            /**
0816:             * Returns menu for setting skins.
0817:             * 
0818:             * @return Menu for setting skins.
0819:             */
0820:            public static JMenu getSkinMenu() {
0821:                JMenu jmSkin = new JMenu("Skins");
0822:                Map<String, SkinInfo> skinMap = SubstanceLookAndFeel
0823:                        .getAllSkins();
0824:                for (final Map.Entry<String, SkinInfo> entry : skinMap
0825:                        .entrySet()) {
0826:                    JMenuItem jmiSkin = new JMenuItem(entry.getValue()
0827:                            .getDisplayName());
0828:                    jmiSkin.addActionListener(new ActionListener() {
0829:                        public void actionPerformed(ActionEvent e) {
0830:                            SubstanceLookAndFeel.setSkin(entry.getValue()
0831:                                    .getClassName());
0832:                        }
0833:                    });
0834:
0835:                    try {
0836:                        SubstanceSkin skin = ((SubstanceSkin) Class.forName(
0837:                                entry.getValue().getClassName()).newInstance());
0838:                        jmiSkin
0839:                                .setIcon(new ImageIcon(
0840:                                        SubstanceImageCreator
0841:                                                .getThemeImage(
0842:                                                        jmiSkin,
0843:                                                        new ImageIcon(
0844:                                                                SampleMenuFactory.class
0845:                                                                        .getClassLoader()
0846:                                                                        .getResource(
0847:                                                                                "test/resource/image-x-generic.png")),
0848:                                                        skin.getTheme(), false)));
0849:                    } catch (Exception exc) {
0850:                    }
0851:
0852:                    jmSkin.add(jmiSkin);
0853:                }
0854:                return jmSkin;
0855:            }
0856:
0857:            public static JMenu getLookAndFeelMenu(JFrame frame) {
0858:                JMenu lafMenu = new JMenu("Look & feel");
0859:                JMenu substanceMenus = new JMenu("Substance family");
0860:                substanceMenus.add(SubstanceLafChanger
0861:                        .getMenuItem(frame, "Substance",
0862:                                "org.jvnet.substance.SubstanceLookAndFeel"));
0863:                substanceMenus.add(SubstanceLafChanger.getMenuItem(frame,
0864:                        "Default",
0865:                        "org.jvnet.substance.SubstanceDefaultLookAndFeel"));
0866:                substanceMenus.addSeparator();
0867:                substanceMenus
0868:                        .add(SubstanceLafChanger
0869:                                .getMenuItem(frame, "Business",
0870:                                        "org.jvnet.substance.skin.SubstanceBusinessLookAndFeel"));
0871:                substanceMenus
0872:                        .add(SubstanceLafChanger
0873:                                .getMenuItem(frame, "Business Black Steel",
0874:                                        "org.jvnet.substance.skin.SubstanceBusinessBlackSteelLookAndFeel"));
0875:                substanceMenus
0876:                        .add(SubstanceLafChanger
0877:                                .getMenuItem(frame, "Business Blue Steel",
0878:                                        "org.jvnet.substance.skin.SubstanceBusinessBlueSteelLookAndFeel"));
0879:                substanceMenus.add(SubstanceLafChanger.getMenuItem(frame,
0880:                        "Creme",
0881:                        "org.jvnet.substance.skin.SubstanceCremeLookAndFeel"));
0882:                substanceMenus
0883:                        .add(SubstanceLafChanger
0884:                                .getMenuItem(frame, "Creme Coffee",
0885:                                        "org.jvnet.substance.skin.SubstanceCremeCoffeeLookAndFeel"));
0886:                substanceMenus
0887:                        .add(SubstanceLafChanger
0888:                                .getMenuItem(frame, "Moderate",
0889:                                        "org.jvnet.substance.skin.SubstanceModerateLookAndFeel"));
0890:                substanceMenus.add(SubstanceLafChanger.getMenuItem(frame,
0891:                        "Nebula",
0892:                        "org.jvnet.substance.skin.SubstanceNebulaLookAndFeel"));
0893:                substanceMenus
0894:                        .add(SubstanceLafChanger
0895:                                .getMenuItem(frame, "Nebula Brick Wall",
0896:                                        "org.jvnet.substance.skin.SubstanceNebulaBrickWallLookAndFeel"));
0897:                substanceMenus
0898:                        .add(SubstanceLafChanger
0899:                                .getMenuItem(frame, "Office Silver 2007",
0900:                                        "org.jvnet.substance.skin.SubstanceOfficeSilver2007LookAndFeel"));
0901:                substanceMenus.add(SubstanceLafChanger.getMenuItem(frame,
0902:                        "Sahara",
0903:                        "org.jvnet.substance.skin.SubstanceSaharaLookAndFeel"));
0904:                substanceMenus.addSeparator();
0905:                substanceMenus
0906:                        .add(SubstanceLafChanger
0907:                                .getMenuItem(frame, "Field of Wheat",
0908:                                        "org.jvnet.substance.skin.SubstanceFieldOfWheatLookAndFeel"));
0909:                substanceMenus
0910:                        .add(SubstanceLafChanger
0911:                                .getMenuItem(frame, "Finding Nemo",
0912:                                        "org.jvnet.substance.skin.SubstanceFindingNemoLookAndFeel"));
0913:                substanceMenus
0914:                        .add(SubstanceLafChanger
0915:                                .getMenuItem(frame, "Green Magic",
0916:                                        "org.jvnet.substance.skin.SubstanceGreenMagicLookAndFeel"));
0917:                substanceMenus.add(SubstanceLafChanger.getMenuItem(frame,
0918:                        "Mango",
0919:                        "org.jvnet.substance.skin.SubstanceMangoLookAndFeel"));
0920:                substanceMenus
0921:                        .add(SubstanceLafChanger
0922:                                .getMenuItem(frame, "Office Blue 2007",
0923:                                        "org.jvnet.substance.skin.SubstanceOfficeBlue2007LookAndFeel"));
0924:                substanceMenus.addSeparator();
0925:                substanceMenus
0926:                        .add(SubstanceLafChanger
0927:                                .getMenuItem(frame, "Challenger Deep",
0928:                                        "org.jvnet.substance.skin.SubstanceChallengerDeepLookAndFeel"));
0929:                substanceMenus
0930:                        .add(SubstanceLafChanger
0931:                                .getMenuItem(frame, "Emerald Dusk",
0932:                                        "org.jvnet.substance.skin.SubstanceEmeraldDuskLookAndFeel"));
0933:                substanceMenus.add(SubstanceLafChanger.getMenuItem(frame,
0934:                        "Magma",
0935:                        "org.jvnet.substance.skin.SubstanceMagmaLookAndFeel"));
0936:                substanceMenus.add(SubstanceLafChanger.getMenuItem(frame,
0937:                        "Raven",
0938:                        "org.jvnet.substance.skin.SubstanceRavenLookAndFeel"));
0939:                substanceMenus
0940:                        .add(SubstanceLafChanger
0941:                                .getMenuItem(frame, "Raven Graphite",
0942:                                        "org.jvnet.substance.skin.SubstanceRavenGraphiteLookAndFeel"));
0943:                substanceMenus
0944:                        .add(SubstanceLafChanger
0945:                                .getMenuItem(frame, "Raven Graphite Glass",
0946:                                        "org.jvnet.substance.skin.SubstanceRavenGraphiteGlassLookAndFeel"));
0947:                lafMenu.add(substanceMenus);
0948:                lafMenu.addSeparator();
0949:                JMenu coreLafMenus = new JMenu("Core LAFs");
0950:                lafMenu.add(coreLafMenus);
0951:                coreLafMenus.add(SubstanceLafChanger.getMenuItem(frame,
0952:                        "System", UIManager.getSystemLookAndFeelClassName()));
0953:                coreLafMenus.add(SubstanceLafChanger.getMenuItem(frame,
0954:                        "Metal", "javax.swing.plaf.metal.MetalLookAndFeel"));
0955:                coreLafMenus.add(SubstanceLafChanger.getMenuItem(frame,
0956:                        "Windows",
0957:                        "com.sun.java.swing.plaf.windows.WindowsLookAndFeel"));
0958:                coreLafMenus
0959:                        .add(SubstanceLafChanger
0960:                                .getMenuItem(frame, "Windows Classic",
0961:                                        "com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel"));
0962:                coreLafMenus.add(SubstanceLafChanger.getMenuItem(frame,
0963:                        "Motif",
0964:                        "com.sun.java.swing.plaf.motif.MotifLookAndFeel"));
0965:                coreLafMenus.add(SubstanceLafChanger.getMenuItem(frame,
0966:                        "Nimbus",
0967:                        "com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel"));
0968:
0969:                JMenu customLafMenus = new JMenu("Custom LAFs");
0970:                lafMenu.add(customLafMenus);
0971:                JMenu jgoodiesMenu = new JMenu("JGoodies family");
0972:                customLafMenus.add(jgoodiesMenu);
0973:                jgoodiesMenu.add(SubstanceLafChanger.getMenuItem(frame,
0974:                        "JGoodies Plastic",
0975:                        "com.jgoodies.looks.plastic.PlasticLookAndFeel"));
0976:                jgoodiesMenu.add(SubstanceLafChanger.getMenuItem(frame,
0977:                        "JGoodies PlasticXP",
0978:                        "com.jgoodies.looks.plastic.PlasticXPLookAndFeel"));
0979:                jgoodiesMenu.add(SubstanceLafChanger.getMenuItem(frame,
0980:                        "JGoodies Plastic3D",
0981:                        "com.jgoodies.looks.plastic.Plastic3DLookAndFeel"));
0982:                jgoodiesMenu.add(SubstanceLafChanger.getMenuItem(frame,
0983:                        "JGoodies Windows",
0984:                        "com.jgoodies.looks.windows.WindowsLookAndFeel"));
0985:
0986:                JMenu jtattooMenu = new JMenu("JTattoo family");
0987:                customLafMenus.add(jtattooMenu);
0988:                jtattooMenu.add(SubstanceLafChanger.getMenuItem(frame,
0989:                        "JTattoo Acryl",
0990:                        "com.jtattoo.plaf.acryl.AcrylLookAndFeel"));
0991:                jtattooMenu.add(SubstanceLafChanger
0992:                        .getMenuItem(frame, "JTattoo Aero",
0993:                                "com.jtattoo.plaf.aero.AeroLookAndFeel"));
0994:                jtattooMenu.add(SubstanceLafChanger.getMenuItem(frame,
0995:                        "JTattoo Aluminium",
0996:                        "com.jtattoo.plaf.aluminium.AluminiumLookAndFeel"));
0997:                jtattooMenu.add(SubstanceLafChanger.getMenuItem(frame,
0998:                        "JTattoo Bernstein",
0999:                        "com.jtattoo.plaf.bernstein.BernsteinLookAndFeel"));
1000:                jtattooMenu.add(SubstanceLafChanger
1001:                        .getMenuItem(frame, "JTattoo Fast",
1002:                                "com.jtattoo.plaf.fast.FastLookAndFeel"));
1003:                jtattooMenu.add(SubstanceLafChanger
1004:                        .getMenuItem(frame, "JTattoo HiFi",
1005:                                "com.jtattoo.plaf.hifi.HiFiLookAndFeel"));
1006:                jtattooMenu.add(SubstanceLafChanger
1007:                        .getMenuItem(frame, "JTattoo Luna",
1008:                                "com.jtattoo.plaf.luna.LunaLookAndFeel"));
1009:                jtattooMenu.add(SubstanceLafChanger.getMenuItem(frame,
1010:                        "JTattoo McWin",
1011:                        "com.jtattoo.plaf.mcwin.McWinLookAndFeel"));
1012:                jtattooMenu.add(SubstanceLafChanger
1013:                        .getMenuItem(frame, "JTattoo Mint",
1014:                                "com.jtattoo.plaf.mint.MintLookAndFeel"));
1015:                jtattooMenu.add(SubstanceLafChanger.getMenuItem(frame,
1016:                        "JTattoo Smart",
1017:                        "com.jtattoo.plaf.smart.SmartLookAndFeel"));
1018:
1019:                JMenu syntheticaMenu = new JMenu("Synthetica family");
1020:                customLafMenus.add(syntheticaMenu);
1021:                syntheticaMenu
1022:                        .add(SubstanceLafChanger
1023:                                .getMenuItem(frame, "Synthetica base",
1024:                                        "de.javasoft.plaf.synthetica.SyntheticaStandardLookAndFeel"));
1025:                syntheticaMenu
1026:                        .add(SubstanceLafChanger
1027:                                .getMenuItem(frame, "Synthetica BlackMoon",
1028:                                        "de.javasoft.plaf.synthetica.SyntheticaBlackMoonLookAndFeel"));
1029:                syntheticaMenu
1030:                        .add(SubstanceLafChanger
1031:                                .getMenuItem(frame, "Synthetica BlackStar",
1032:                                        "de.javasoft.plaf.synthetica.SyntheticaBlackStarLookAndFeel"));
1033:                syntheticaMenu
1034:                        .add(SubstanceLafChanger
1035:                                .getMenuItem(frame, "Synthetica BlueIce",
1036:                                        "de.javasoft.plaf.synthetica.SyntheticaBlueIceLookAndFeel"));
1037:                syntheticaMenu
1038:                        .add(SubstanceLafChanger
1039:                                .getMenuItem(frame, "Synthetica BlueMoon",
1040:                                        "de.javasoft.plaf.synthetica.SyntheticaBlueMoonLookAndFeel"));
1041:                syntheticaMenu
1042:                        .add(SubstanceLafChanger
1043:                                .getMenuItem(frame, "Synthetica BlueSteel",
1044:                                        "de.javasoft.plaf.synthetica.SyntheticaBlueSteelLookAndFeel"));
1045:                syntheticaMenu
1046:                        .add(SubstanceLafChanger
1047:                                .getMenuItem(frame, "Synthetica GreenDream",
1048:                                        "de.javasoft.plaf.synthetica.SyntheticaGreenDreamLookAndFeel"));
1049:                syntheticaMenu
1050:                        .add(SubstanceLafChanger
1051:                                .getMenuItem(frame, "Synthetica MauveMetallic",
1052:                                        "de.javasoft.plaf.synthetica.SyntheticaMauveMetallicLookAndFeel"));
1053:                syntheticaMenu
1054:                        .add(SubstanceLafChanger
1055:                                .getMenuItem(frame,
1056:                                        "Synthetica OrangeMetallic",
1057:                                        "de.javasoft.plaf.synthetica.SyntheticaOrangeMetallicLookAndFeel"));
1058:                syntheticaMenu
1059:                        .add(SubstanceLafChanger
1060:                                .getMenuItem(frame, "Synthetica SkyMetallic",
1061:                                        "de.javasoft.plaf.synthetica.SyntheticaSkyMetallicLookAndFeel"));
1062:                syntheticaMenu
1063:                        .add(SubstanceLafChanger
1064:                                .getMenuItem(frame, "Synthetica SilverMoon",
1065:                                        "de.javasoft.plaf.synthetica.SyntheticaSilverMoonLookAndFeel"));
1066:                syntheticaMenu
1067:                        .add(SubstanceLafChanger
1068:                                .getMenuItem(frame, "Synthetica WhiteVision",
1069:                                        "de.javasoft.plaf.synthetica.SyntheticaWhiteVisionLookAndFeel"));
1070:
1071:                JMenu officeMenu = new JMenu("Office family");
1072:                customLafMenus.add(officeMenu);
1073:                officeMenu.add(SubstanceLafChanger.getMenuItem(frame,
1074:                        "Office 2003",
1075:                        "org.fife.plaf.Office2003.Office2003LookAndFeel"));
1076:                officeMenu.add(SubstanceLafChanger.getMenuItem(frame,
1077:                        "Office XP",
1078:                        "org.fife.plaf.OfficeXP.OfficeXPLookAndFeel"));
1079:                officeMenu
1080:                        .add(SubstanceLafChanger
1081:                                .getMenuItem(frame, "Visual Studio 2005",
1082:                                        "org.fife.plaf.VisualStudio2005.VisualStudio2005LookAndFeel"));
1083:
1084:                customLafMenus.add(SubstanceLafChanger.getMenuItem(frame,
1085:                        "A03", "a03.swing.plaf.A03LookAndFeel"));
1086:                customLafMenus.add(SubstanceLafChanger.getMenuItem(frame,
1087:                        "Alloy", "com.incors.plaf.alloy.AlloyLookAndFeel"));
1088:                customLafMenus.add(SubstanceLafChanger.getMenuItem(frame, "FH",
1089:                        "com.shfarr.ui.plaf.fh.FhLookAndFeel"));
1090:                customLafMenus.add(SubstanceLafChanger.getMenuItem(frame,
1091:                        "Hippo", "se.diod.hippo.plaf.HippoLookAndFeel"));
1092:                customLafMenus
1093:                        .add(SubstanceLafChanger.getMenuItem(frame, "InfoNode",
1094:                                "net.infonode.gui.laf.InfoNodeLookAndFeel"));
1095:                customLafMenus.add(SubstanceLafChanger.getMenuItem(frame,
1096:                        "Kuntstoff",
1097:                        "com.incors.plaf.kunststoff.KunststoffLookAndFeel"));
1098:                customLafMenus.add(SubstanceLafChanger.getMenuItem(frame,
1099:                        "Liquid", "com.birosoft.liquid.LiquidLookAndFeel"));
1100:                customLafMenus.add(SubstanceLafChanger.getMenuItem(frame,
1101:                        "Lipstik", "com.lipstikLF.LipstikLookAndFeel"));
1102:                customLafMenus.add(SubstanceLafChanger.getMenuItem(frame,
1103:                        "Metouia",
1104:                        "net.sourceforge.mlf.metouia.MetouiaLookAndFeel"));
1105:                customLafMenus.add(SubstanceLafChanger
1106:                        .getMenuItem(frame, "Napkin",
1107:                                "net.sourceforge.napkinlaf.NapkinLookAndFeel"));
1108:                customLafMenus.add(SubstanceLafChanger.getMenuItem(frame,
1109:                        "Nimbus",
1110:                        "org.jdesktop.swingx.plaf.nimbus.NimbusLookAndFeel"));
1111:                customLafMenus.add(SubstanceLafChanger.getMenuItem(frame,
1112:                        "NimROD", "com.nilo.plaf.nimrod.NimRODLookAndFeel"));
1113:                customLafMenus.add(SubstanceLafChanger.getMenuItem(frame,
1114:                        "Oyoaha",
1115:                        "com.oyoaha.swing.plaf.oyoaha.OyoahaLookAndFeel"));
1116:                customLafMenus.add(SubstanceLafChanger.getMenuItem(frame,
1117:                        "Pagosoft", "com.pagosoft.plaf.PgsLookAndFeel"));
1118:                customLafMenus.add(SubstanceLafChanger.getMenuItem(frame,
1119:                        "Simple", "com.memoire.slaf.SlafLookAndFeel"));
1120:                customLafMenus.add(SubstanceLafChanger.getMenuItem(frame,
1121:                        "Skin", "com.l2fprod.gui.plaf.skin.SkinLookAndFeel"));
1122:                customLafMenus.add(SubstanceLafChanger.getMenuItem(frame,
1123:                        "Smooth Metal", "smooth.metal.SmoothLookAndFeel"));
1124:                customLafMenus.add(SubstanceLafChanger.getMenuItem(frame,
1125:                        "Squareness",
1126:                        "net.beeger.squareness.SquarenessLookAndFeel"));
1127:                customLafMenus.add(SubstanceLafChanger.getMenuItem(frame,
1128:                        "Tiny", "de.muntjak.tinylookandfeel.TinyLookAndFeel"));
1129:                customLafMenus.add(SubstanceLafChanger.getMenuItem(frame,
1130:                        "Tonic", "com.digitprop.tonic.TonicLookAndFeel"));
1131:                customLafMenus.add(SubstanceLafChanger.getMenuItem(frame,
1132:                        "Trendy", "com.Trendy.swing.plaf.TrendyLookAndFeel"));
1133:
1134:                lafMenu.addSeparator();
1135:                JMenu localeMenus = new JMenu("Change locale");
1136:                lafMenu.add(localeMenus);
1137:                // Locale changing
1138:                JMenuItem localeArabic = new JMenuItem("Arabic Locale", Check
1139:                        .getIcon("flag_saudi_arabia"));
1140:                localeArabic.addActionListener(new MyLocaleChangeListener("ar",
1141:                        "AR", frame));
1142:
1143:                JMenuItem localeBulgarian = new JMenuItem("Bulgarian Locale",
1144:                        Check.getIcon("flag_bulgaria"));
1145:                localeBulgarian.addActionListener(new MyLocaleChangeListener(
1146:                        "bg", "BG", frame));
1147:
1148:                JMenuItem localeChinese = new JMenuItem(
1149:                        "Chinese (Simplified) Locale", Check
1150:                                .getIcon("flag_china"));
1151:                localeChinese.addActionListener(new MyLocaleChangeListener(
1152:                        "zh", "CN", frame));
1153:
1154:                JMenuItem localeChineseHK = new JMenuItem(
1155:                        "Chinese (Hong Kong) Locale", Check
1156:                                .getIcon("flag_hong_kong"));
1157:                localeChineseHK.addActionListener(new MyLocaleChangeListener(
1158:                        "zh", "HK", frame));
1159:
1160:                JMenuItem localeChineseTW = new JMenuItem(
1161:                        "Chinese (Taiwan) Locale", Check.getIcon("flag_taiwan"));
1162:                localeChineseTW.addActionListener(new MyLocaleChangeListener(
1163:                        "zh", "TW", frame));
1164:
1165:                JMenuItem localeCzech = new JMenuItem("Czech Locale", Check
1166:                        .getIcon("flag_czech_republic"));
1167:                localeCzech.addActionListener(new MyLocaleChangeListener("cs",
1168:                        "CZ", frame));
1169:
1170:                JMenuItem localeDanish = new JMenuItem("Danish Locale", Check
1171:                        .getIcon("flag_denmark"));
1172:                localeDanish.addActionListener(new MyLocaleChangeListener("da",
1173:                        "DK", frame));
1174:
1175:                JMenuItem localeDutch = new JMenuItem("Dutch Locale", Check
1176:                        .getIcon("flag_netherlands"));
1177:                localeDutch.addActionListener(new MyLocaleChangeListener("nl",
1178:                        "NL", frame));
1179:
1180:                JMenuItem localeEnglish = new JMenuItem("English Locale", Check
1181:                        .getIcon("flag_united_states"));
1182:                localeEnglish.addActionListener(new MyLocaleChangeListener(
1183:                        "en", "US", frame));
1184:
1185:                JMenuItem localeFinnish = new JMenuItem("Finnish Locale", Check
1186:                        .getIcon("flag_finland"));
1187:                localeFinnish.addActionListener(new MyLocaleChangeListener(
1188:                        "fi", "FI", frame));
1189:
1190:                JMenuItem localeFrench = new JMenuItem("French Locale", Check
1191:                        .getIcon("flag_france"));
1192:                localeFrench.addActionListener(new MyLocaleChangeListener("fr",
1193:                        "FR", frame));
1194:
1195:                JMenuItem localeFrenchCA = new JMenuItem(
1196:                        "French (Canada) Locale", Check.getIcon("flag_canada"));
1197:                localeFrenchCA.addActionListener(new MyLocaleChangeListener(
1198:                        "fr", "CA", frame));
1199:
1200:                JMenuItem localeGerman = new JMenuItem("German Locale", Check
1201:                        .getIcon("flag_germany"));
1202:                localeGerman.addActionListener(new MyLocaleChangeListener("de",
1203:                        "DE", frame));
1204:
1205:                JMenuItem localeGreek = new JMenuItem("Greek Locale", Check
1206:                        .getIcon("flag_greece"));
1207:                localeGreek.addActionListener(new MyLocaleChangeListener("el",
1208:                        "GR", frame));
1209:
1210:                JMenuItem localeHebrew = new JMenuItem("Hebrew Locale", Check
1211:                        .getIcon("flag_israel"));
1212:                localeHebrew.addActionListener(new MyLocaleChangeListener("iw",
1213:                        "IL", frame));
1214:
1215:                JMenuItem localeHungarian = new JMenuItem("Hungarian Locale",
1216:                        Check.getIcon("flag_hungary"));
1217:                localeHungarian.addActionListener(new MyLocaleChangeListener(
1218:                        "hu", "HU", frame));
1219:
1220:                JMenuItem localeItalian = new JMenuItem("Italian Locale", Check
1221:                        .getIcon("flag_italy"));
1222:                localeItalian.addActionListener(new MyLocaleChangeListener(
1223:                        "it", "IT", frame));
1224:
1225:                JMenuItem localeJapanese = new JMenuItem("Japanese Locale",
1226:                        Check.getIcon("flag_japan"));
1227:                localeJapanese.addActionListener(new MyLocaleChangeListener(
1228:                        "ja", "JP", frame));
1229:
1230:                JMenuItem localeNorwegian = new JMenuItem("Norwegian Locale",
1231:                        Check.getIcon("flag_norway"));
1232:                localeNorwegian.addActionListener(new MyLocaleChangeListener(
1233:                        "no", "NO", frame));
1234:
1235:                JMenuItem localePolish = new JMenuItem("Polish Locale", Check
1236:                        .getIcon("flag_poland"));
1237:                localePolish.addActionListener(new MyLocaleChangeListener("pl",
1238:                        "PL", frame));
1239:
1240:                JMenuItem localePortuguese = new JMenuItem("Portuguese Locale",
1241:                        Check.getIcon("flag_portugal"));
1242:                localePortuguese.addActionListener(new MyLocaleChangeListener(
1243:                        "pt", "PT", frame));
1244:
1245:                JMenuItem localePortugueseBR = new JMenuItem(
1246:                        "Portuguese (Brazil) Locale", Check
1247:                                .getIcon("flag_brazil"));
1248:                localePortugueseBR
1249:                        .addActionListener(new MyLocaleChangeListener("pt",
1250:                                "BR", frame));
1251:
1252:                JMenuItem localeRomanian = new JMenuItem("Romanian Locale",
1253:                        Check.getIcon("flag_romania"));
1254:                localeRomanian.addActionListener(new MyLocaleChangeListener(
1255:                        "ro", "RO", frame));
1256:
1257:                JMenuItem localeRussian = new JMenuItem("Russian Locale", Check
1258:                        .getIcon("flag_russia"));
1259:                localeRussian.addActionListener(new MyLocaleChangeListener(
1260:                        "ru", "RU", frame));
1261:
1262:                JMenuItem localeSpanish = new JMenuItem("Spanish Locale", Check
1263:                        .getIcon("flag_spain"));
1264:                localeSpanish.addActionListener(new MyLocaleChangeListener(
1265:                        "es", "ES", frame));
1266:
1267:                JMenuItem localeSpanishMX = new JMenuItem(
1268:                        "Spanish (Mexico) Locale", Check.getIcon("flag_mexico"));
1269:                localeSpanishMX.addActionListener(new MyLocaleChangeListener(
1270:                        "es", "MX", frame));
1271:
1272:                JMenuItem localeSwedish = new JMenuItem("Swedish Locale", Check
1273:                        .getIcon("flag_sweden"));
1274:                localeSwedish.addActionListener(new MyLocaleChangeListener(
1275:                        "sv", "SE", frame));
1276:
1277:                JMenuItem localeThai = new JMenuItem("Thai Locale", Check
1278:                        .getIcon("flag_thailand"));
1279:                localeThai.addActionListener(new MyLocaleChangeListener("th",
1280:                        "TH", frame));
1281:
1282:                JMenuItem localeTurkish = new JMenuItem("Turkish Locale", Check
1283:                        .getIcon("flag_turkey"));
1284:                localeTurkish.addActionListener(new MyLocaleChangeListener(
1285:                        "tr", "TR", frame));
1286:
1287:                localeMenus.add(localeEnglish);
1288:                localeMenus.add(localeArabic);
1289:                localeMenus.add(localeBulgarian);
1290:                localeMenus.add(localeChinese);
1291:                localeMenus.add(localeChineseHK);
1292:                localeMenus.add(localeChineseTW);
1293:                localeMenus.add(localeCzech);
1294:                localeMenus.add(localeDanish);
1295:                localeMenus.add(localeDutch);
1296:                localeMenus.add(localeFinnish);
1297:                localeMenus.add(localeFrench);
1298:                localeMenus.add(localeFrenchCA);
1299:                localeMenus.add(localeGerman);
1300:                localeMenus.add(localeGreek);
1301:                localeMenus.add(localeHebrew);
1302:                localeMenus.add(localeHungarian);
1303:                localeMenus.add(localeItalian);
1304:                localeMenus.add(localeJapanese);
1305:                localeMenus.add(localeNorwegian);
1306:                localeMenus.add(localePolish);
1307:                localeMenus.add(localePortuguese);
1308:                localeMenus.add(localePortugueseBR);
1309:                localeMenus.add(localeRomanian);
1310:                localeMenus.add(localeRussian);
1311:                localeMenus.add(localeSpanish);
1312:                localeMenus.add(localeSpanishMX);
1313:                localeMenus.add(localeSwedish);
1314:                localeMenus.add(localeThai);
1315:                localeMenus.add(localeTurkish);
1316:
1317:                return lafMenu;
1318:            }
1319:        }
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.