【问题标题】:How can I use mnemonics on JavaFX 8 Alerts如何在 JavaFX 8 警报上使用助记符
【发布时间】:2015-09-16 14:06:19
【问题描述】:

我希望能够为作为 JavaFX 包含的警报对话框控件的一部分提供的按钮添加加速键。

我不确定这是否可以使用标准警报类型 ERROR、INFORMATION、CONFIRMATION、WARNING?

我创建了自己的登录窗口 - 它不使用警报结构,它的工作方式如下:

当舞台打开时。

然后当用户点击“ALT”键时:

我希望能够“热键”系统中警报上的按钮。但是,我不确定我是否可以使用标准警报,或者我是否需要创建自己的警报,如果可以,我应该怎么做。

如果可能的话,我真的很想在本地使用对话框。

谢谢。

【问题讨论】:

  • 在 FXML 中设置助记符时,它们是用下划线完成的,比如“_Menu”,是否检查过?
  • 这些是警报,所以我不会在 FXML 中创建它们。警报 a = 新警报(AlertType.Confirmation); a.show().
  • 据我了解您的要求,您需要像 Custom Login Dialog 这样的东西,它适用于纯 JavaFX 8
  • 我的对话正常工作,我在询问一般警报。

标签: javafx-8 alert mnemonics


【解决方案1】:

据我了解你的问题,我认为没有一些额外的代码是不可能的。

查看at the code of OpenJFX 按钮的标签are localized 并修复。

您可能只想在自己的by using the apropiate constructor 上创建一些按钮,这些按钮需要一些您可以覆盖现有按钮的按钮。

编辑:重新考虑一切后,我试图重现您的问题。 You can see that project on GitHub..

这是特殊代码:

public void showCustomizedAlertWindow() {
    Alert a = new Alert(AlertType.CONFIRMATION, "some content text", ButtonType.OK, ButtonType.CANCEL, ButtonType.FINISH);
    ((Button) a.getDialogPane().lookupButton(ButtonType.FINISH)).setText("_finished");
    a.show();
}

但请注意,您正在删除该按钮的本地化支持。

【讨论】:

    猜你喜欢
    • 2016-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-13
    • 1970-01-01
    • 1970-01-01
    • 2018-10-13
    • 2012-08-01
    相关资源
    最近更新 更多