在Swing的文本组件中如何检查组合键

在Swing的文本组件中如何检查组合键
一般说的组合键,是指在按下某个特定的键的时候,有另一些键处于某个特定的状态。例如:按回车enter,且CTRL键处于按下的状态,就认为是按了CTRL+回车这个组合键。

下面是具体的代码,myTextArea是一个文本区域组件(JTextArea)。注意其中粗体部分:
myTextArea.addKeyListener( new  KeyListener(){
            @Override
            
public   void  keyReleased(KeyEvent arg0) {
                 
if  ( arg0.getKeyCode()  ==  KeyEvent.VK_ENTER  &&  
                    ((arg0.getModifiersEx() 
& KeyEvent.CTRL_DOWN_MASK) != 0 )  &&  
                    ((arg0.getModifiersEx() 
& KeyEvent.SHIFT_DOWN_MASK) == 0 )   ) {
                         
//   do something......
                 }
            }
            
            @Override
            
public   void  keyPressed(KeyEvent arg0) {
                
//  do nothing
                
            }

            @Override
            
public   void  keyTyped(KeyEvent arg0) {
                
//  do nothing
                
            }
        });
上面粗体部分第一句意味着回车键处于按下状态;
第二句意味着同时Ctrl键处于按下状态;
第三句意味着Shift键没有处于按下状态;
整个条件就是指在ctrl+enter键按下时,执行特定的处理。

Java文本组件中检测组合键就是这样简单。

你可能感兴趣的:(在Swing的文本组件中如何检查组合键)