首页 > 编程开发 > Java > 正文  
jdk1.3和jdk1.4的swing组件对中文显示解决办法
出自:bootcool@163.net bootcool@163.net 2002年09月05日 22:13
jdk1.3和jdk1.4的swing组件对中文显示解决办法


jdk1.3和jdk1.4的swing组件对中文显示一直是很让人头痛的事。

为了解决这个问题,我采用了这样的方法。



import java.awt.*;
import javax.swing.UIManager;

public class JOfficeUIManager extends UIManager {

public Font _font ;
private static String _name;
private static int _style;
private static int _size;

public JOfficeUIManager(String name,int style,int size){
_name = name;
_style = style;
_size = size;
if(_font == null)
_font = new Font(name,style,size);
}

public JOfficeUIManager(Font font){
_font = font;
}

public void setFont(){
put("Button.font",_font);
put("ToggleButton.font",_font);
put("RadioButton.font",_font);
put("CheckBox.font",_font);
put("ColorChooser.font",_font);
put("ToggleButton.font",_font);
put("ComboBox.font",_font);
put("ComboBoxItem.font",_font);
put("InternalFrame.titleFont",_font);
put("Label.font",_font);
put("List.font",_font);
put("MenuBar.font",_font);
put("Menu.font",_font);
put("MenuItem.font",_font);
put("RadioButtonMenuItem.font",_font);
put("CheckBoxMenuItem.font",_font);
put("PopupMenu.font",_font);
put("OptionPane.font",_font);
put("Panel.font",_font);
put("ProgressBar.font",_font);
put("ScrollPane.font",_font);
put("Viewport",_font);
put("TabbedPane.font",_font);
//put("Table.font",_font);
put("TableHeader.font",_font);
put("TextField.font",_font);
put("PasswordFiled.font",_font);
put("TextArea.font",_font);
put("TextPane.font",_font);
put("EditorPane.font",_font);
put("TitledBorder.font",_font);
put("ToolBar.font",_font);
put("ToolTip.font",_font);
put("Tree.font",_font);
}

public void setFont(Font font){
put("Button.font",font);
put("ToggleButton.font",font);
put("RadioButton.font",font);
put("CheckBox.font",font);
put("ColorChooser.font",font);
put("ToggleButton.font",font);
put("ComboBox.font",font);
put("ComboBoxItem.font",font);
put("InternalFrame.titleFont",font);
put("Label.font",font);
put("List.font",font);
put("MenuBar.font",font);
put("Menu.font",font);
put("MenuItem.font",font);
put("RadioButtonMenuItem.font",font);
put("CheckBoxMenuItem.font",font);
put("PopupMenu.font",font);
put("OptionPane.font",font);
put("Panel.font",font);
put("ProgressBar.font",font);
put("ScrollPane.font",font);
put("Viewport",font);
put("TabbedPane.font",font);
put("TableHeader.font",font);
put("TextField.font",font);
put("PasswordFiled.font",font);
put("TextArea.font",font);
put("TextPane.font",font);
put("EditorPane.font",font);
put("TitledBorder.font",font);
put("ToolBar.font",font);
put("ToolTip.font",font);
put("Tree.font",font);
}
public Font getFont(){
return _font;
}

}



在构建其中这样做:

///

JOfficeUIManager _UIManager = new JOfficeUIManager("Simsun",0,12);

_UIManager.setFont();

///

就可以了。

我只在中文Windows下做过测试。

在其他平台下,可能需要有宋体字库。

bootcool@163.net
】【http://www.trainlinux.com】【Close
『相关资料』
Java编程中更新XML文档的常用方法 (2002-09-05 22:12)
Apache动了Java奶酪(news) (2002-09-05 22:12)
Sun推出使Java运行速度提高5倍的新技术 (2002-09-05 22:12)
. net和Java应融合 (2002-09-04 22:11)
Home 

诚恩Linux培训工作室