JavaFX 8对话框内部元素的本地化

我目前正在开发一个斯洛伐克语言本地化的JavaFX应用程序,并且在应用程序内部,我使用了一个Alert对话框来显示可展开内容窗格的例外,如下图所示:

隐藏详细信息 - 提醒屏幕

我希望完全翻译这个对话框,这与HeaderTitleContent但我找不到如何翻译可扩展区域的Show/Hide details标签的方法。

所以我的问题可以有点泛化:如何更改/翻译JavaFX内部元素的文本?

预先感谢您的帮助。

PS:为了创建此异常警报对话框,我使用code.makery.ch上的代码


对于您的特定用例,您可以将另一个侦听器添加到expandedProperty ,它将覆盖“details button”所显示的文本:

Platform.runLater(() ->
{
    Hyperlink detailsButton = ( Hyperlink ) alert.getDialogPane().lookup( ".details-button" );

    alert.getDialogPane().expandedProperty().addListener(
            ( ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue ) ->
    {
        detailsButton.setText( newValue ? "My less text" : "My more text" );
    });

    // trigger listeners
    alert.getDialogPane().setExpanded( true );
    alert.getDialogPane().setExpanded( false );
});

对于更常见的黑客攻击,请参阅本地化JavaFx控件。 从那里你需要把下面的键放到你的自定义属性文件中:

// translate these
Dialog.detail.button.more = Show Details
Dialog.detail.button.less = Hide Details
链接地址: http://www.djcxy.com/p/26125.html

上一篇: JavaFX 8 Localization of dialog's internal elements

下一篇: Can exit() from a library be replaced with throwing an exception?