本文整理匯總了Java中java.awt.Font.getClass方法的典型用法代碼示例。如果您正苦於以下問題:Java Font.getClass方法的具體用法?Java Font.getClass怎麽用?Java Font.getClass使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類java.awt.Font
的用法示例。
在下文中一共展示了Font.getClass方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: instantiate
import java.awt.Font; //導入方法依賴的package包/類
protected Expression instantiate(Object oldInstance, Encoder out) {
Font font = (Font) oldInstance;
int count = 0;
String family = null;
int style = Font.PLAIN;
int size = 12;
Map<TextAttribute, ?> basic = font.getAttributes();
Map<TextAttribute, Object> clone = new HashMap<>(basic.size());
for (TextAttribute key : basic.keySet()) {
Object value = basic.get(key);
if (value != null) {
clone.put(key, value);
}
if (key == TextAttribute.FAMILY) {
if (value instanceof String) {
count++;
family = (String) value;
}
}
else if (key == TextAttribute.WEIGHT) {
if (TextAttribute.WEIGHT_REGULAR.equals(value)) {
count++;
} else if (TextAttribute.WEIGHT_BOLD.equals(value)) {
count++;
style |= Font.BOLD;
}
}
else if (key == TextAttribute.POSTURE) {
if (TextAttribute.POSTURE_REGULAR.equals(value)) {
count++;
} else if (TextAttribute.POSTURE_OBLIQUE.equals(value)) {
count++;
style |= Font.ITALIC;
}
} else if (key == TextAttribute.SIZE) {
if (value instanceof Number) {
Number number = (Number) value;
size = number.intValue();
if (size == number.floatValue()) {
count++;
}
}
}
}
Class<?> type = font.getClass();
if (count == clone.size()) {
return new Expression(font, type, "new", new Object[]{family, style, size});
}
if (type == Font.class) {
return new Expression(font, type, "getFont", new Object[]{clone});
}
return new Expression(font, type, "new", new Object[]{Font.getFont(clone)});
}