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

我目前正在开发一个带有斯洛伐克语本地化的JavaFX应用程序,在应用程序内部,我使用Alert对话框显示可扩展内容窗格的exception,如下图所示:

显示详细信息 - 警报屏幕隐藏详细信息 - 警报屏幕

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

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

在此先感谢您的帮助。

PS:为了创建exception的Alert对话框,我使用code.makery.ch上的代码

对于您的特定用例,您可以向expandedProperty添加另一个侦听器,该侦听器将覆盖“详细信息按钮”所示的文本:

 Platform.runLater(() -> { Hyperlink detailsButton = ( Hyperlink ) alert.getDialogPane().lookup( ".details-button" ); alert.getDialogPane().expandedProperty().addListener( ( ObservableValue 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,请参阅本地化JavaFx控件 。 从那里你需要将以下键放到自定义属性文件中:

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