我认为,如果让用户能够选择并在“主题”(L&F)之间进行切换,那就太好了。我会给他一个选择,包括Java metal(默认),System default(系统默认),或者可能要从互联网上下载的更多版本...

我的应用程序也是双语的(您可以在要显示的两种语言之间选择)。
但是,对我的应用程序进行完全翻译很重要。我可以处理简单的内容,命名JLabel,JButton,框架标题等。

但是也有一些预定义的组件,我无法轻松管理那些字符串(例如JFileChooser)。有人告诉我可以使用UIManager更改它们,但是它们的字符串是L&F特定的。

现在,无论为每个L&F转换我的应用程序有多有趣,我都希望有一些集中的方式来控制这些字符串。

毕竟,无论使用哪种L&F,JFileChoose(例如)都是相同的组件,对吗?
它在自身的相同部分上打印文本,不是吗?
因此,我认为应该可以访问某些东西,让我对打印到预定义组件上的文本拥有“主”控制权。

有任何想法吗?

最佳答案

不容易的工作
必须阅读Modifying the Look and Feel
最重要的是Changing the Look and Feel After Startup
必须接受您也必须覆盖Keys into UIManeger的值,NOTICE about one of Look and Feel
不同的L&F可能有不同的Font和具体的Colors JComponents乘以Native OS
在某些情况下,如果要更改ColorColorUIResourcesFontFontUIResources),则很重要
JFileChooser是复合JComponents,您可以提取其成员,
最佳起点could be this idea
Nimbus Look and Feel过着自己的生活

10-01 20:23