我有一个应用程序在 Unix 中使用默认的金属外观。对于 Solaris 10,这意味着 Dialog 字体被翻译为 Arial。对于 Solaris 11,字体文件已移动,因此我的字体已更改。除了我的应用程序中的文件之外,我无法更改任何文件,因此更改 fontconfig.properties 不是一种选择。
1) 有没有办法在应用程序的开头说 Dialog=Arial (and Dialog.Bold = Arial.Bold)?
2)由于我找不到执行上述操作的方法,我一直在使用 UIManager.put("Menu.font", new Font("Arial, Font.BOLD, 12)) 命令。这似乎有效(希望我不会错过小部件类型)但是我的 JTree,当我使用默认值时没有使用 Label.font,当我调用 UIManager.put("Label.font", new Font (“Arial,Font.BOLD,12))。即使我也有 UIManager.put("Tree.font", new Font("Arial, Font.PLAIN, 12)) 也会发生这种情况。
使用默认值,我的标签是粗体的,而我的树不是。您对这可能会发生什么以及如何将这两种字体分开以便我可以强制它们为 Arial 但标签为粗体和 JTree 纯文本有任何建议吗?
设置 UI 管理器是应用程序要做的第一件事。