📄 fontcombobox.java
字号:
package com.softfz.jn0708.chat.sendpanel.fontpanel.fontcombobox;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GraphicsEnvironment;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JComboBox;
/**
* 字体组合框(自动取出系统可用的字体,并把字体名用该字体显示)
*
*/
public class FontComboBox extends JComboBox {
//中文字体表示
public static int CHINESE_FONT = 1;
//英文字体表示
public static int ENGLISH_FONT = 2;
//所有字体标志
public static int ALL_FONT = 3;
/**
* 根据fontType生成字体组合框
* 如果选择全部字体,则先中文字体再英文字体
*
* @param fontType
*/
public FontComboBox(int fontType){
super();
setRenderer(new FontListCellRenderer());
DefaultComboBoxModel model = new DefaultComboBoxModel();
String[] fontList;
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
fontList = ge.getAvailableFontFamilyNames();
this.setPreferredSize(new Dimension(100,20));
//this.setMinimumSize(new Dimension(347,80));
this.setMaximumSize(new Dimension(100,20));
for(int i = 0; i < fontList.length; i++){
//去掉特殊字体
if (fontList[i].startsWith("Webdings"))
continue;
if (fontList[i].startsWith("Wingdings"))
continue;
if (fontList[i].startsWith("Marlett"))
continue;
if (fontList[i].startsWith("Symbol"))
continue;
char c = fontList[i].charAt(0);
if (fontType == CHINESE_FONT || fontType == ALL_FONT){
if (c > 255)
model.addElement(new FontObject(new Font(fontList[i],Font.PLAIN,12),fontList[i]));
}else if (fontType == ENGLISH_FONT){
if (c < 255)
model.addElement(new FontObject(new Font(fontList[i],Font.PLAIN,12),fontList[i]));
}
}
if (fontType == ALL_FONT){
for(int i = 0; i < fontList.length; i++){
//System.out.println(fontList[i]);
if (fontList[i].startsWith("Webdings"))
continue;
if (fontList[i].startsWith("Wingdings"))
continue;
if (fontList[i].startsWith("Marlett"))
continue;
if (fontList[i].startsWith("Symbol"))
continue;
char c = fontList[i].charAt(0);
if (c < 255)
model.addElement(new FontObject(new Font(fontList[i],Font.PLAIN,12),fontList[i]));
}
}
setModel(model);
}
/**
* 获取选择的对象
* @return
*/
public String getSelectedFamily(){
FontObject fo = (FontObject)getSelectedItem();
return fo.getFont().getFamily();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -