1,给默认的tab键遍历控件,添加别的按键的
private void registerKeyTravel() {
//回车键顺序遍历 KeyStroke enterKS = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0); Set<AWTKeyStroke> ksSet = new HashSet<AWTKeyStroke>(); Set<AWTKeyStroke> set = getFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS); ksSet.addAll(set); ksSet.add(enterKS); setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, ksSet); //shift 回车反向遍历 KeyStroke sEnterKS = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, InputEvent.SHIFT_MASK); Set<AWTKeyStroke> sKsSet = new HashSet<AWTKeyStroke>(); Set<AWTKeyStroke> sSet = getFocusTraversalKeys(KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS); sKsSet.addAll(sSet); sKsSet.add(sEnterKS); setFocusTraversalKeys(KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, sKsSet); }
2,FocusTraversalPolicy能够提供焦点跟细致的控制