在Javafx中将焦点放在FlowPane上

时间:2013-01-11 07:20:07

标签: javafx

我试过

public void ChangeFocus(Button browse, final FlowPane mFlowPane)
{
    browse.addEventHandler(KeyEvent.KEY_PRESSED, new EventHandler<KeyEvent>() {

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

}

在上面的代码中我在Flowpane中设置了一个ImageView,但是当我按下浏览按钮上的TAB按钮时,我无法专注于imageview我该如何解决?

2 个答案:

答案 0 :(得分:2)

默认情况下,FlowPane不是focustraversable。调用mFlowPane.setFocusTraversable(true)使其成为遍历故事的一部分

答案 1 :(得分:2)

要解决它的更多细节。而不是关注flowpane,你需要将焦点放在flowpane中的whats上,例如textfield:

flowPane.setOnMouseClicked(new EventHandler<MouseEvent>()
{
   public void handle(MouseEvent mouseEvent)
   {
         textfield.requestFocus();
   }
});