zoukankan      html  css  js  c++  java
  • 生成Substance皮肤Menu项的代码

    为什么不能用addActionListener(new ActionListener()  。。)的方法,看前一篇文章http://www.cnblogs.com/youxin/archive/2013/06/16/3138225.html

    皮肤:

         
        public static  String[] skins={"SubstanceAutumnLookAndFeel",
                                "SubstanceBusinessBlackSteelLookAndFeel",
                                "SubstanceBusinessBlueSteelLookAndFeel",
                                "SubstanceChallengerDeepLookAndFeel",
                                "SubstanceCremeCoffeeLookAndFeel",
                                "SubstanceEmeraldDuskLookAndFeel",
                                "SubstanceFieldOfWheatLookAndFeel",
                                "SubstanceGreenMagicLookAndFeel",
                                "SubstanceMagmaLookAndFeel",
                                "SubstanceMangoLookAndFeel",
                                "SubstanceMistAquaLookAndFeel",
                                "SubstanceModerateLookAndFeel",
                                "SubstanceNebulaBrickWallLookAndFeel",
                                "SubstanceRavenGraphiteGlassLookAndFeel",
                                "SubstanceSaharaLookAndFeel",
                                };

    生成Item项:

    JMenuItem[] skinMenuItems=new JMenuItem[skins.length];
            for( int i=0;i<skins.length;i++)
            {
                 int type=i;
                 skinMenuItems[i]=new JMenuItem(skins[i]);
                skinMenu.add(skinMenuItems[i]);
                
                skinMenuItems[i].addActionListener(new LAFListener("org.jvnet.substance.skin."+skins[i],this);
                 }
    
            
    public class LAFListener implements ActionListener {   
        private String className;   
        private Component com;   
      
        public LAFListener(String className, Component com) {   
            this.className = className;   
            this.com = com;   
        }   
      
        public void actionPerformed(ActionEvent e) {   
      
            try {   
                Object obj = Class.forName(className).newInstance();   
                if (obj instanceof LookAndFeel) {   
                    UIManager.setLookAndFeel(className);   
                }   
                SwingUtilities.updateComponentTreeUI(com);   
            } catch (ClassNotFoundException ex) {   
                Logger.getLogger(LAFListener.class.getName()).log(Level.SEVERE, null, ex);   
            } catch (InstantiationException ex) {   
                Logger.getLogger(LAFListener.class.getName()).log(Level.SEVERE, null, ex);   
            } catch (IllegalAccessException ex) {   
                Logger.getLogger(LAFListener.class.getName()).log(Level.SEVERE, null, ex);   
            } catch (UnsupportedLookAndFeelException ex) {   
                Logger.getLogger(LAFListener.class.getName()).log(Level.SEVERE, null, ex);   
            }   
      
        }   
      
    }    

    参考:http://www.blogjava.net/ivin/archive/2007/12/29/170869.html

  • 相关阅读:
    文章标题
    PAT Basic Level 1006
    PAT Basic Level 1005
    PAT Basic Level 1004
    PAT Basic Level 1036
    PAT Basic Level 1002
    (算法)递归各习题总结反思 *基础
    uvaoj 101
    C语言(关于二级指针)
    普通算法(高效幂运算)
  • 原文地址:https://www.cnblogs.com/youxin/p/3138238.html
Copyright © 2011-2022 走看看