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

JDK1.3-1.4 Swing中文显示解决方案
jdk1.3和jdk1.4的swing组件对中文显示解决办法 (转)[@more@]

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下做过测试。

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

Mailto:bootcool@163.NET">bootcool@163.net


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-992005/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10752043/viewspace-992005/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值