Tab-order是什么?在界面上当你按tab键触发焦点转移的功能,这就是tab order。但是Javafx有个缺陷就是不方便自己设置tab-order的顺序。
15年JDK爆出这个bug,有人提过:
最后JDK中迫不得已临时把Parent类
中的私有方法setImpl_traversalEngine
设置为了public
,让用户可以设置Node
自己的tab-order
顺序。
相关解决方案 stackoverflow
示例:
- fxml文件
<?xml version="1.0" encoding="UTF-8"?> |
- Controller文件
package com.cmlanche.easymvvmfx.ui.login; |
原来的tab-order
顺序是btn->t1->t2->t3
,现在的顺序是t2->t3->t1->btn
。
需要注意的是
setImpl_traversalEngine
是deprecated
方法,以后可能废弃的apiLoginView
是我的框架easyMvvmFx构建的控制器,不能直接放在你代码中运行。