我正在开发一个库,它将翻译 swing 中的所有硬编码字符串。
在一些帮助下,我设法找到了与之相关的所有字符串,所以这是一个开始。但是,我注意到,在尝试将 JFileChooser 中的文件重命名为已使用的名称时,我收到一个错误对话框,指出我无法执行此操作。
这是 Java,还是 Windows(运行程序的操作系统)?
如果是Java,我想更多地了解如何自定义这样的JDialog
,如果是Windows,我无能为力,特别是因为该程序应该是跨平台的。
最佳答案
您可以在安装 JDK 的目录中找到 JDK 的源代码。
在 openJDK-7 实现中,您要查找的字符串定义在
包 com.sun.swing.internal.plaf.basic.resources
和文件 basic.java
。
该目录下的其他文件对应不同的翻译:
basic_de.java
、basic_es.java
、...等
这里有 Swing 类使用的所有字符串常量。
其中:
{ "FileChooser.renameErrorFileExists.textAndMnemonic",
"Cannot rename {0}: A file with the name you specified already exists. Specify a different file name." },
因此,您必须找到一种方法来覆盖属性FileChooser.renameErrorFileExists.textAndMnemonic
来更改此对话框。
如果您想翻译这些字符串,请参阅 this answer .
不同的 Java 安装可能有不同的字符串,因为这些文件不是官方 Java API 的一部分。
据我所知,这些文件不包含在 Oracle 分发的 src.zip
中。
关于java - Swing 中预定义的 JDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13211920/