我的布局像:
第一次按下TAB按钮时,我想将焦点放在“公司名称”文本字段上,但是现在我将注意力集中在“添加按钮”上,我该如何管理它?
我尝试像

    ChangeFocus(mTextFieldCompanyName, mTextAreaAboutUs);
    ChangeFocus(mTextAreaAboutUs, mTextAreaContactUs);
    ChangeFocus(mTextAreaContactUs, mButtonVideo);
    ChangeFocus(mButtonVideo, mButtonImage);
    ChangeFocus(mButtonImage, mButtonSave);
    public void ChangeFocus(Control mControlFrom,final Control mControlTo)
    {

   mControlFrom.addEventHandler(KeyEvent.KEY_PRESSED, new EventHandler<KeyEvent>() {

         @Override
         public void handle(KeyEvent event)
         {
             if (event.getCode() == KeyCode.TAB)
             {
                System.out.println("TAB pressed");
                mControlTo.requestFocus();
                event.consume(); // do nothing
         }
       }
     });

     }
这样的代码

最佳答案

尝试将您的mTextFieldCompanyName包装在Platform.runLater()

Platform.runLater(new Runnable() {
    @Override
    public void run() {
        mTextFieldCompanyName.requestFocus();
    }
});

希望能帮助到你 :)

10-05 19:04