Tab-order是什么?在界面上当你按tab键触发焦点转移的功能,这就是tab order。但是Javafx有个缺陷就是不方便自己设置tab-order的顺序。
15年JDK爆出这个bug,有人提过:
- ht t ps://b ug s. o penjd k .java .net/ br ow se/JD K-8 09 0501
- ht tp s://b ug s.o p enjdk .java .net/b r owse/ JDK-80 91 673
最后JDK中迫不得已临时把Parent类
中的私有方法setImpl_traversalEngine
设置为了public
,让用户可以设置Node
自己的tab-order
顺序。
相关解决方案 stackoverflow
示例:
- fxml文件
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.layout.VBox?>
<?import