在swing开发中。使用tab按键跳转组件,会在除jlabel的组件间跳转?有的组件已经禁用,例如jtextfield1已经设置为disabled,但tab还是会把焦点跳到该组件上去。请问,按tab键不会将焦点跳到禁用的组件上去。

解决方案 »

  1.   

    关于tab键,是个很头疼的问题
    ,有些面板使用KeyEvent事件就获取不到tab键的按下,
    如果获取不到,个人感觉就无能为力了,
    如果能够获取到,后面的操作都很好做
      

  2.   

    试试看setFocusable(false),不让焦点停留
      

  3.   

    Swing中的组件都可以定义FocusPolicy,参照http://kb.cnblogs.com/a/604039/
      

  4.   


    我用了你的方法,好像不起作用我的代码块如下:
    在我的jpanel的界面上的代码
    List focusOrderList = new ArrayList<Component>();
    focusOrderList.add(chbWYD);
    focusOrderList.add(txtWYD1);
    focusOrderList.add(txtWYD2);
    focusOrderList.add(chbKLK);
    focusOrderList.add(txtKLK1);
    focusOrderList.add(txtKLK2);
    MyOwnFocusTraversalPolicy focusPolicy = new MyOwnFocusTraversalPolicy(focusOrderList);
    this.setFocusTraversalPolicy(focusPolicy);MyOwnFocusTraversalPolicy 的写法基本就是你的写法,只是我在构造函数上传了个focusOrderList的list
      

  5.   

    我在6u23上Tab跳不到禁用的组件上。
      

  6.   

    请问焦点策略政策,是不是只有在jframe上面注册才有效果。