一、
設置文本框只能輸入數字
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; } }
|
四、無載體鍵盤