求解JAVA高手!!JDK 1.4 和 1.6 SWING 的字体显示。。在线等。。。

fength2004 2010-12-21 12:37:21
下载JDK从1.4升级到1.6后。发现字体不一样。如何才能在1.6下显示和1.4同样的字体啊。。。。
1.4的话 font。properties,1.6的话。就是fontconfig。properties。。这两个文件相关。
但是好像字体的设置方法不太一样。。。
有相关方面了解的高手啊。。指点一二。。。。。
...全文
57 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Jlins 2010-12-21
你引入字体的font文件...
回复
fength2004 2010-12-21
恩。。谢谢大家了。我再研究研究。。。
回复
sunyiz 2010-12-21
[Quote=引用楼主 fength2004 的回复:]
下载JDK从1.4升级到1.6后。发现字体不一样。如何才能在1.6下显示和1.4同样的字体啊。。。。
1.4的话 font。properties,1.6的话。就是fontconfig。properties。。这两个文件相关。
但是好像字体的设置方法不太一样。。。
有相关方面了解的高手啊。。指点一二。。。。。
[/Quote]

如果考虑到你的程序的通用性
(就是不管在什么地方运行都一样)
你肯定不能去改JDK的配置文件
你改掉了,给别人运行
难道也要别人先改一下配置文件嘛~
所以你可以在程序中用一个方法先把所有组件的字体统一设置一下
比如
          Font font = new Font("Dialog",Font.PLAIN,12);//这里写上你喜欢的字体
UIManager.put("MenuBar.font", font);
UIManager.put("MenuItem.font", font);
UIManager.put("Menu.font", font);
UIManager.put("PopupMenu.font", font);
UIManager.put("ToolBar.font", font);
UIManager.put("ToolTip.font", font);
UIManager.put("TabbedPane.font", font);
UIManager.put("Label.font", font);
UIManager.put("List.font", font);
UIManager.put("ComboBox.font", font);
UIManager.put("Button.font", font);
UIManager.put("Table.font", font);
UIManager.put("TableHeader.font", font);
UIManager.put("Tree.font", font);
UIManager.put("TextField.font", font);
UIManager.put("TextArea.font", font);
UIManager.put("TitledBorder.font", font);
UIManager.put("OptionPane.font", font);
UIManager.put("RadioButton.font", font);
UIManager.put("CheckBox.font", font);
UIManager.put("ToggleButton.font", font);
UIManager.put("Dialog.font", font);
UIManager.put("Panel.font", font);
//等等
回复
xiaochun91103 2010-12-21
可以自定义字体,也可以导入外部的字体文件进行设定。


java.io.File file = new java.io.File("xxxxx");//指定字体文件
java.io.FileInputStream fi = new java.io.FileInputStream(file); java.io.BufferedInputStream fb = new java.io.BufferedInputStream(fi);
Font font = Font.createFont(Font.TRUETYPE_FONT, fb);
回复
发帖
Java SE
创建于2007-09-28

6.1w+

社区成员

Java 2 Standard Edition
申请成为版主
帖子事件
创建了帖子
2010-12-21 12:37
社区公告
暂无公告