如何使用JavaFX在标签中设置助记符?
设置助记符
助记符是数字或字符,在用户界面组件的菜单标题(按钮,文本字段等)中,通常带有下划线。如果您将此字符与Alt键一起按下,则相应菜单项将被聚焦。
创建一个助记符-
通过实例化其各自的类来创建任何节点。
创建一个标签以将节点与所需助记符之前的下划线字符(“_”)相关联。
默认情况下,标签的助记符解析值将为false,使用setMnemonicParsing()方法将此值设置为true。
将标签设置/关联到所需的节点。
将标签和字段添加到场景。
示例
import javafx.application.Application; import javafx.geometry.Insets; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.control.PasswordField; import javafx.scene.control.TextField; import javafx.scene.layout.HBox; import javafx.scene.paint.Color; import javafx.stage.Stage; public class LabelForExample extends Application { public void start(Stage stage) { //Creating nodes TextField textField = new TextField(); PasswordField pwdField = new PasswordField(); //creating labels Label label1 = new Label("_Email"); label1.setMnemonicParsing(true); label1.setLabelFor(textField); Label label2 = new Label("_Password"); label2.setMnemonicParsing(true); label2.setLabelFor(pwdField); //Adding labels for nodes HBox box1 = new HBox(5); box1.setPadding(new Insets(25, 5 , 5, 50)); box1.getChildren().addAll(label1, textField, label2, pwdField); //Setting the stage Scene scene = new Scene(box1, 595, 150, Color.BEIGE); stage.setTitle("Check Box Example"); stage.setScene(scene); stage.show(); } public static void main(String args[]){ launch(args); } }
输出结果
如果按键盘上的Alt+e,则焦点将移至第一个文本字段;如果按键盘上的Alt+p,则焦点将移至第二个文本字段