请问:是这样吗?
          void  InputField_focusGained(FocusEvent  e)  {  
               InputField.grabFocus(); 
               InputField.setBackground(Color.red);  
           }  

解决方案 »

  1.   

    是啊,那个grabFocus()能抢夺焦点,但是在转移到同一个Panel下的其他控件就好像不太好用了。up
      

  2.   

    void InputField_focusLost(FocusEvent e) {
        InputField.setBackground(Color.white);
      }  void InputField_focusGained(FocusEvent e) {
        InputField.setBackground(Color.orange);
      }
    现在我可以在InputField中输入,但是InputField的background确实white!!!
    天哪~~~~~这到底是为什么?为什么不是orange呢????
    失败!!!
      

  3.   

    呵呵,这方面就不如vb了,vb有validate
      

  4.   

    inputField.requestFocus()
    不行还是:
    “现在我可以在InputField中输入,但是InputField的background确实white!!!
    天哪~~~~~这到底是为什么?为什么不是orange呢????
    失败!!!”
      

  5.   

    void jTextField1_focusGained(FocusEvent e) {
        jTextField1.setBackground(Color.cyan);
        jTextField1.grabFocus();
      }  void jTextField1_focusLost(FocusEvent e) {
      jTextField1.setBackground(Color.blue);
      }  void jTextField2_mouseEntered(MouseEvent e) {
        jTextField2.setBackground(Color.red);
        jTextField1.grabFocus();
      }  void jTextField2_mouseExited(MouseEvent e) {
        jTextField2.setBackground(Color.green);
      }
    我试了一下可以呀
      

  6.   

    焦点和光标不是一样的,但是在TextField中表现是一样的,因为在TextFieldUI中,也有一个FocusListener,得到焦点后负责显示光标。楼主说的情况我也遇到过,我的解决办法是给JWindow加上WindowListener,
    window.addWindowListener(new WindowAdpter(){
       public void windowOpened(WindowEvent e) {
          textField.requestFocus();
       }
    });
    我是这样解决的,不过不知道对楼主的例子可不可行。
      

  7.   

    藕实在是没有办法了,只好改装了楼上同事的方法,先弹出一个对话框,然后让JWindow获得焦点,再让InputField获得焦点!希望大家不要见笑哦!
    void this_windowOpened(WindowEvent e) {
        if(!InputField.requestDefaultFocus()){
            anOptionPane.showMessageDialog(this,"员工"+UserIDStr+"您好,祝您工作愉快!","系统提示",JOptionPane.YES_OPTION);      }
        InputField.grabFocus();
      }