我的布局像:
第一次按下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();
}
});
希望能帮助到你 :)