AWT Font类
1 什么是Java AWT Font
Font 类声明了字体,这些字体用于以可见的方式呈现文本。
2 Java AWT Font的语法
public class Font
extends Object
implements Serializable
3 Java AWT Font的构造方法
构造方法 | 描述 |
---|---|
protected Font() | 从指定的字体创建新字体。 |
Font(Map<? extends AttributedCharacterIterator.Attribute,?> attributes) | 从指定的字体创建新字体。 |
Font(String name, int style, int size) | 从指定的字体创建新字体。 |
4 Java AWT Font的方法
方法 | 描述 |
---|---|
boolean canDisplay(char c) | 检查此 Font 是否具有指定字符的字形。 |
boolean canDisplay(int codePoint) | 检查此 Font 是否具有指定字符的字形。 |
int canDisplayUpTo(char[] text, int start, int limit) | 指示此 Font 是否可以显示指定文本中从 start 开始到 limit 结束的字符。 |
int canDisplayUpTo(CharacterIterator iter, int start, int limit) | 指示此 Font 是否可以显示由 iter 指定的从 start 开始到 limit 结束的文本。 |
int canDisplayUpTo(String str) | 指示此 Font 是否可以显示指定的字符串。 |
static Font createFont(int fontFormat, File fontFile) | 使用指定的字体类型和指定的字体文件返回一个新的 Font。 |
static Font createFont(int fontFormat, InputStream fontStream) | 使用指定的字体类型和输入数据返回一个新的 Font。 |
GlyphVector createGlyphVector(FontRenderContext frc, char[] chars) | 通过基于此 Font 中的 Unicode cmap 将字符一对一映射到字形来创建 GlyphVector。 |
GlyphVector createGlyphVector(FontRenderContext frc, CharacterIterator ci) | 通过基于此 Font 中的 Unicode cmap 将指定字符一对一映射到字形来创建 GlyphVector。 |
GlyphVector createGlyphVector(FontRenderContext frc, int[] glyphCodes) | 通过基于此 Font 中的 Unicode cmap 将字符一对一映射到字形来创建 GlyphVector。 |
GlyphVector createGlyphVector(FontRenderContext frc, String str) | 通过基于此 Font 中的 Unicode cmap 将字符一对一映射到字形来创建 GlyphVector。 |
static Font decode(String str) | 返回 str 参数描述的字体。 |
Font deriveFont(AffineTransform trans) | 通过复制当前的 Font 对象并对其应用新的变换来创建一个新的 Font 对象。 |
Font deriveFont(float size) | 通过复制当前 Font 对象并对其应用新大小来创建一个新的 Font 对象。 |
Font deriveFont(int style) | 通过复制当前 Font 对象并对其应用新样式来创建新的 Font 对象。 |
Font deriveFont(int style, AffineTransform trans) | 通过复制此 Font 对象并应用新样式和变换来创建新的 Font 对象。 |
Font deriveFont(int style, float size) | 通过复制这个 Font 对象并应用新的样式和大小来创建一个新的 Font 对象。 |
Font deriveFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes) | 通过复制当前 Font 对象并向其应用一组新的字体属性来创建一个新的 Font 对象。 |
boolean equals(Object obj) | 将此 Font 对象与指定的 Object 进行比较。 |
protected void finalize() | 处置本机 Font 对象。 |
Map<TextAttribute,?> getAttributes() | 返回此 Font 中可用的字体属性映射。 |
AttributedCharacterIterator.Attribute[] getAvailableAttributes() | 返回此 Font 支持的所有属性的键。 |
byte getBaselineFor(char c) | 返回适合显示此字符的基线。 |
String getFamily() | 返回此 Font 的系列名称。 |
String getFamily(Locale l) | 返回此 Font 的系列名称,已针对指定的语言环境进行了本地化。 |
static Font getFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes) | 返回适合属性的字体。 |
static Font getFont(String nm) | 从系统属性列表中返回一个 Font 对象。 |
static Font getFont(String nm, Font font) | 从系统属性列表中获取指定的 Font。 |
String getFontName() | 返回此 Font 的字体名称。 |
String getFontName(Locale l) | 返回 Font 的字体名称,针对指定的语言环境进行了本地化。 |
float getItalicAngle() | 返回此 Font 的斜体角度。 |
LineMetrics getLineMetrics(char[] chars, int beginIndex, int limit, FontRenderContext frc) | 返回使用指定参数创建的 LineMetrics 对象。 |
LineMetrics getLineMetrics(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc) | 返回使用指定参数创建的 LineMetrics 对象。 |
LineMetrics getLineMetrics(String str, FontRenderContext frc) | 返回使用指定的 String 和 FontRenderContext 创建的 LineMetrics 对象。 |
LineMetrics getLineMetrics(String str, int beginIndex, int limit, FontRenderContext frc) | 返回使用指定参数创建的 LineMetrics 对象。 |
Rectangle2D getMaxCharBounds(FontRenderContext frc) | 返回具有指定 FontRenderContext 中定义的最大边界的字符的边界。 |
int getMissingGlyphCode() | 返回当此 Font 没有指定 unicode 代码点的字形时使用的字形代码。 |
String getName() | 返回此 Font 的逻辑名称。 |
int getNumGlyphs() | 返回此 Font 中的字形数量。 |
java.awt.peer.FontPeer getPeer() | 已弃用。字体渲染现在独立于平台。 |
String getPSName() | 返回此 Font 的 postscript 名称。 |
int getSize() | 返回此 Font 的磅值,四舍五入为整数。 |
float getSize2D() | 以浮点值形式返回此 Font 的磅值。 |
Rectangle2D getStringBounds(char[] chars, int beginIndex, int limit, FontRenderContext frc) | 返回指定 FontRenderContext 中指定字符数组的逻辑边界。 |
Rectangle2D getStringBounds(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc) | 返回在指定 FontRenderContext 中指定 CharacterIterator 中索引的字符的逻辑边界。 |
Rectangle2D getStringBounds(String str, FontRenderContext frc) | 返回指定 FontRenderContext 中指定 String 的逻辑边界。 |
Rectangle2D getStringBounds(String str, int beginIndex, int limit, FontRenderContext frc) | 返回指定 FontRenderContext 中指定 String 的逻辑边界。 |
int getStyle() | 返回此 Font 的样式。 |
AffineTransform getTransform() | 返回与此字体关联的转换的副本。 |
int hashCode() | 返回此字体的哈希码。 |
boolean hasLayoutAttributes() | 如果此 Font 包含需要额外布局处理的属性,则返回 true。 |
boolean hasUniformLineMetrics() | 检查此 Font 是否具有统一的线度量。 |
boolean isBold() | 指示此 Font 对象的样式是否为 BOLD。 |
boolean isItalic() | 指示此 Font 对象的样式是否为 ITALIC。 |
boolean isPlain() | 指示此 Font 对象的样式是否为 PLAIN。 |
boolean isTransformed() | 指示此 Font 对象是否具有除 Size 属性之外影响其大小的变换。 |
GlyphVector layoutGlyphVector(FontRenderContext frc, char[] text, int start, int limit, int flags) | 返回一个新的 GlyphVector 对象,如果可能,执行文本的完整布局。 |
String toString() | 将此 Font 对象转换为 String 表示形式。 |
5 Java AWT Font的例子
让我们看一个简单的Java AWT Font类示例。
package com.yiidian;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class AWTGraphicsDemo extends Frame {
public AWTGraphicsDemo(){
super("一点教程网:Java AWT Examples");
prepareGUI();
}
public static void main(String[] args){
AWTGraphicsDemo awtGraphicsDemo = new AWTGraphicsDemo();
awtGraphicsDemo.setVisible(true);
}
private void prepareGUI(){
setSize(400,400);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent windowEvent){
System.exit(0);
}
});
}
@Override
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D)g;
Font plainFont = new Font("Serif", Font.PLAIN, 24);
g2.setFont(plainFont);
g2.drawString("Welcome to yiidian.com", 50, 70);
Font italicFont = new Font("Serif", Font.ITALIC, 24);
g2.setFont(italicFont);
g2.drawString("Welcome to yiidian.com", 50, 120);
Font boldFont = new Font("Serif", Font.BOLD, 24);
g2.setFont(boldFont);
g2.drawString("Welcome to yiidian.com", 50, 170);
Font boldItalicFont = new Font("Serif", Font.BOLD+Font.ITALIC, 24);
g2.setFont(boldItalicFont);
g2.drawString("Welcome to yiidian.com", 50, 220);
}
}
输出结果为:
热门文章
优秀文章