jdk1.3和jdk1.4的swing组件对中文显示解决办法

王朝java/jsp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航