jdk1.3和jdk1.4的swing组件对中文显示解决办法
2008-04-25 22:42
387 查看
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
为了解决这个问题,我采用了这样的方法。
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
相关文章推荐
- Swing中Frame窗口显示dialog窗口再弹出对话框,背景为白色不显示组件解决办法
- mysql查询表中文显示乱码的解决办法
- Linux tree 显示中文文件名的解决办法
- 英文版Window7中,中文字符显示为乱码的解决办法
- Flash中与xml交互时不显示中文的解决办法
- SecureCRT连接linux终端中文显示乱码解决办法
- 向Sql Server数据库插入中文时显示乱码的解决办法 (转)
- elipse 调试jdk时候变量不显示值以及解决办法
- ubunt 12.10 vi编辑器 中文乱码 和ubuntu显示中文的办法 解决办法
- 英文版Window7中,中文字符显示为乱码的解决办法
- delphi 中 Label 中文显示不全的问题解决办法
- navicat for mysql 显示中文乱码解决办法
- oracle 11g 数据库中文字段,vs2013 MFC工程 显示乱码解决办法
- EMS SQL Manager 中文显示为乱码解决办法收藏
- weblogic中文显示乱码解决办法
- html里显示中文乱码的解决办法
- Linux安装fcitx中文无法显示候选框解决办法
- linux-SSH,telnet终端中文显示乱码解决办法
- Serv-U下FTP客户端中文显示为乱码 解决办法【整理】
- ubuntu pdf乱码+不显示中文的终极解决办法