鍵盤管理

一、
設置文本框只能輸入數字
jTextField3.addKeyListener(new KeyListener(){
            public void keyTyped(KeyEvent e) {
                int i =(int)e.getKeyChar();
                if(i>='0'&&i<='9')
                    return;
                else
                    e.consume(); //關鍵,屏蔽掉非法輸入,終止默認的行爲
            }
            
            public void keyPressed(KeyEvent e) {  }
            public void keyReleased(KeyEvent e) {  }
            
        });

 

 

二、設置回車快捷鍵

this.getRootPane().setDefaultButton(jButton1);

 

三、鍵盤管理:KeyboardFocusManager KeyEventPostProcessor

package com.zami.wms.main.test;
import java.awt.KeyEventPostProcessor;
import java.awt.KeyboardFocusManager;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
/**
 *
 * @author zzh
 */
public class ESCTest  extends JFrame{
   
    /** Creates a new instance of ESCTest */
   
    public static void main(String args[]) {
        try {
            ESCTest frame = new ESCTest();
            frame.setVisible(true);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public ESCTest(){
        super();
        setTitle("Press ESC TO Exit");
        setBounds(100, 100, 500, 375);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        KeyboardFocusManager manager = KeyboardFocusManager
                .getCurrentKeyboardFocusManager();
        manager.addKeyEventPostProcessor(new MyKeyEventPostProcessor());
       
    }
}
class MyKeyEventPostProcessor implements KeyEventPostProcessor{
    public boolean postProcessKeyEvent(KeyEvent event){
        if (KeyEvent.VK_ESCAPE == event.getKeyCode()){
            System.exit(0);
        }
        if (KeyEvent.VK_D == event.getKeyCode()){
            System.out.println("ddd");
        }
        return true;
    }
}

 

四、無載體鍵盤

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章