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

<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 728x15, 创建于 08-4-23MSDN */ google_ad_slot = "3624277373"; google_ad_width = 728; google_ad_height = 15; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 160x600, 创建于 08-4-23MSDN */ google_ad_slot = "4367022601"; google_ad_width = 160; google_ad_height = 600; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

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

<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 728x15, 创建于 08-4-23MSDN */ google_ad_slot = "3624277373"; google_ad_width = 728; google_ad_height = 15; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 160x600, 创建于 08-4-23MSDN */ google_ad_slot = "4367022601"; google_ad_width = 160; google_ad_height = 600; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
阅读更多
个人分类: java
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭