【问题标题】:JavaFX - Can't use underscores in MenuItemJavaFX - 不能在 MenuItem 中使用下划线
【发布时间】:2018-06-30 18:55:18
【问题描述】:

当我遇到一个非常奇怪的问题时,我正在使用 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”,而是显示:

有人知道这里会发生什么吗?

【问题讨论】:

  • 你能看看这个问题(stackoverflow.com/questions/22079618/…),看看它是否能解决你的问题?我不确定这是否是重复的,因为 MenuItem 没有扩展 Labeled 所以该方法可能存在。编辑:虽然它没有扩展 Labeled,但似乎仍然为 MenuItem 声明了该方法。

标签: java javafx menuitem


【解决方案1】:

由于项目的mnemonicParsing 属性为true,因此下划线会受到特殊处理。将此属性设置为 false 可以防止:

item.setMnemonicParsing(false);

【讨论】:

    猜你喜欢
    • 2017-03-10
    • 2018-04-15
    • 1970-01-01
    • 1970-01-01
    • 2011-10-24
    • 2023-03-20
    • 2014-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多