加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 00:44:39 所属栏目:Java 来源:网络整理
导读:我目前正在开发一个带有斯洛伐克语本地化的 JavaFX应用程序,在应用程序内部,我使用Alert对话框显示可扩展内容窗格的异常,如下图所示: 我想完全翻译这个对话框,这与标题,标题或内容相符,但我找不到如何翻译可扩展区域的显示/隐藏详细信息标签的方法. 所以我
我目前正在开发一个带有斯洛伐克语本地化的 JavaFX应用程序,在应用程序内部,我使用Alert对话框显示可扩展内容窗格的异常,如下图所示:

我想完全翻译这个对话框,这与标题,标题或内容相符,但我找不到如何翻译可扩展区域的显示/隐藏详细信息标签的方法.

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

在此先感谢您的帮助.

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

解决方法

对于您的特定用例,您可以向expandedProperty添加另一个侦听器,该侦听器将覆盖“详细信息按钮”所示的文本:
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 );
});

有关更常见的hack,请参阅Localizing JavaFx Controls.从那里,您需要将以下键放入自定义属性文件:

// translate these
Dialog.detail.button.more = Show Details
Dialog.detail.button.less = Hide Details

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读