为你写诗

c/c++
随笔 - 32, 文章 - 0, 评论 - 3, 引用 - 0
数据加载中……

java添加快捷键和外观设置

快捷键:
1、若是设置类似“Ctrl+某键”的快捷键方式,可以直接: 
jButton.setMnemonic(KeyEvent.VK_ENTER); 
这是一种较简单的,快捷键是按Alt+enter回车键。 
这种设置不适合之处就是一定要加上一个Alt键才行 

2、若是要设置单键为button的快捷键,则需扩展一个ActionListener,具体模式如下:比如设置jBOK按钮快捷键为Enter回车键,jBCancel按钮设置快捷键为取消Esc键,相关代码如下: 
    /*//设置快捷键 
    class   SymListener   implements   ActionListener   { 
        public   void   actionPerformed(ActionEvent   e)   { 
            Object   obj   =   e.getSource(); 
            if   (obj   ==   jBOK)   { 
                jBOK_actionPerformed(e); 
            } 
            else   if   (obj   ==   jBCancel)   { 
                jBCancel_actionPerformed(e); 
            } 
        } 
    } 
    //*/ 


        /*// 
        SymListener   symListener   =   new   SymListener(); 
        jBOK.addActionListener(symListener); 
        jBCancel.addActionListener(symListener); 
        //设置快捷键 
        jBOK.registerKeyboardAction(symListener, 
            KeyStroke.getKeyStroke(KeyEvent.VK_ENTER,   0), 
                JComponent.WHEN_IN_FOCUSED_WINDOW); 
        //确定按钮为回车键 "ENTER " 

        jBCancel.registerKeyboardAction(symListener, 
            KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE,   0), 
                JComponent.WHEN_IN_FOCUSED_WINDOW); 
        //取消按钮为退出键 "Escape " 
        //*/ 

外观:
UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel") ;   UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel") ;   UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel") ; 

else if(source==java){ // 金属外观
            try{
                UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
                SwingUtilities.updateComponentTreeUI(this);
            }catch(Exception exe){
                exe.printStackTrace();
            }
        }else if(source==system){ // 本地外观
            try{
                UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
                SwingUtilities.updateComponentTreeUI(this);
            }catch(Exception exe){
                exe.printStackTrace();
            }
        }

posted on 2011-06-15 20:08 pp_zhang 阅读(1145) 评论(0)  编辑 收藏 引用 所属分类: Java摘抄


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理