【发布时间】:2017-05-11 13:38:17
【问题描述】:
在我的 FXML 文件中
<Label text="%label.total" />
在属性文件中我有
label.total=Total
但是,我想在我的屏幕上显示Total:。不仅适用于这个标签,而且适用于 fxml 文件中的许多标签。我不想将: 添加到属性文件,因为这似乎是错误的,因为在这里我们必须只保留不同语言的字符串。
是否可以将"%label.total" 与":" 结合起来?还是在这种情况下使用了其他解决方案?
【问题讨论】:
-
我找不到简单的方法来做到这一点。如果您可以在表达式绑定中使用资源解析(即
text="${'%label.total'+':'}"),它会起作用,但资源解析不会在该字符串中解析(这是可以理解的)。此外,如果在表达式绑定中以与映射相同的方式处理资源包(并且如果您使用没有.的键),则可以使用text="${resources.labelTotal + ':'}",但这也不起作用(看起来对于ResourceBundle中的getLabelTotal()方法)。后者似乎应该得到支持。 -
我设法做到这一点的唯一方法是将资源包的所有内容转储到
Map,并在加载之前将Map放入FXMLLoader的命名空间中FXML,非常丑陋。 (这个解决方案可能比使用两个标签更糟糕,一个带有文本,一个带有:。) -
有时,我希望 JavaFX 控件中的方法不是
final。 -
@ItachiUchiha 嗯,这是有充分理由的,但是是的,我知道你的意思