我正在写一个小应用程序。我使用Ratpoison作为我的窗口管理器(使用wmname LG3D)和Netbeans作为IDE。从KDE或直接从Netbeans启动时我的应用程序字体看起来不错。从ratpoison开始他们看起来像这样:
Screenshot http://img195.imageshack.us/img195/8079/swingfontsratpoison.png 点击查看完整尺寸
答案 0 :(得分:0)
KDE可能在启动时向系统添加更多字体。
在KDE和鼠标中执行此操作:
fc-list -v | grep "file:\|fullname:\|^$"
并比较字体列表以查看缺少的内容。
如果缺少某个目录,请将其添加到/etc/fonts/fonts.conf,然后添加到新条目中。
如果只是遗漏了一些字体,你可以复制到〜/ .fonts(假设你在fonts.conf中配置了这个dir)
如果所有字体都相同,请尝试将/etc/fonts/conf.d中的所有配置移动到临时目录并运行
fc-cache -f
并测试。
如果看起来更好,开始再添加一个配置,再次运行fc-cache -f,再次重启java应用程序并进行测试。
重复,直到找到破坏java字体的配置。最后你应该拥有所有的配置减去打破java的配置。
通常它的一些配置将字体设置为首选,java将盲目使用,而不是更好的字体。
答案 1 :(得分:0)
实际上,您可以在Swing中使用任何系统字体。
很容易,只需添加一个句子: yourComponent.setFont(new Font(“Tahoma”,Font.BOLD | Font.ITALIC,16));
或者您可以更改整体设置: UIManager.put(“label.font”,新字体(“Tahoma”,Font.BOLD,16));
put方法的“键”通常是指示您想要更改的字符串,如: label.font,button.font,label.color,textfield.font等。所有小案例。
不要忘记在开头导入 java.awt.Font 和/或 javax.swing.UIManager !