JavaFX - 不能在 MenuItem 中使用下划线
JavaFX - Can't use underscores in MenuItem
当我遇到一个非常奇怪的问题时,我正在使用 JavaFX 创建程序。我想用包含下划线 (_) 的文本创建一个 MenuItem,但是当显示该文本时,下划线消失了。这是一个示例代码:
public class JavaFXTest extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
BorderPane mainPane = new BorderPane();
MenuBar menuBar = new MenuBar();
Menu menu = new Menu("Menu");
menuBar.getMenus().add(menu);
MenuItem item = new MenuItem("Test_underscore");
menu.getItems().add(item);
mainPane.setTop(menuBar);
primaryStage.setScene(new Scene(mainPane, 890, 570));
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
而不是显示 "Test_underscore",而是显示:
有人知道这里会发生什么吗?
由于 mnemonicParsing
属性 是 true
项目,下划线得到特殊处理。将此 属性 设置为 false
可以防止这种情况:
item.setMnemonicParsing(false);
当我遇到一个非常奇怪的问题时,我正在使用 JavaFX 创建程序。我想用包含下划线 (_) 的文本创建一个 MenuItem,但是当显示该文本时,下划线消失了。这是一个示例代码:
public class JavaFXTest extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
BorderPane mainPane = new BorderPane();
MenuBar menuBar = new MenuBar();
Menu menu = new Menu("Menu");
menuBar.getMenus().add(menu);
MenuItem item = new MenuItem("Test_underscore");
menu.getItems().add(item);
mainPane.setTop(menuBar);
primaryStage.setScene(new Scene(mainPane, 890, 570));
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
而不是显示 "Test_underscore",而是显示:
有人知道这里会发生什么吗?
由于 mnemonicParsing
属性 是 true
项目,下划线得到特殊处理。将此 属性 设置为 false
可以防止这种情况:
item.setMnemonicParsing(false);