AWT Font 字体类

简介

Font 类声明字体,用于以可见的方式呈现文本。

类声明

以下是 java.awt.Font 类的声明:

public class Font
    extends Object
        implements Serializable

字段

以下是 java.awt.geom.Arc2D 类的字段:

  • static int BOLD -- 粗体样式常量。

  • static int CENTER_BASELINE -- 布局时,中文、日文和韩文等表意文字中使用的基线文本。

  • static String DIALOG -- 逻​​辑字体"Dialog"的规范系列名称的字符串常量。

  • static String DIALOG_INPUT -- 逻​​辑字体"DialogInput"的规范系列名称的字符串常量。

  • static int HANGING_BASELINE -- 在 Devanigiri 和类似脚本中布局文本时使用的基线。

  • static int ITALIC -- 斜体样式常量。

  • static int LAYOUT_LEFT_TO_RIGHT -- 一个用于 layoutGlyphVector 的标志,指示文本是从左到右的,由 Bidi 分析确定。

  • static int LAYOUT_NO_LIMIT_CONTEXT -- 一个给 layoutGlyphVector 的标志,表示不应检查指定限制之后的字符数组中的文本。

  • static int LAYOUT_NO_START_CONTEXT -- 一个给 layoutGlyphVector 的标志,表示不应检查指定开始之前的字符数组中的文本。

  • static int LAYOUT_RIGHT_TO_LEFT -- 一个给 layoutGlyphVector 的标志,表示文本是由 Bidi 分析确定的从右到左的。

  • static String MONOSPACED -- 一个字符串常量,表示逻辑字体"Monospaced"的规范系列名称。

  • protected String name -- 此 Font 的逻辑名称,传递给构造函数。

  • static int PLAIN -- 纯文本样式常量。

  • protected float pointSize -- 此 Font 的点大小(浮点数)。

  • static int ROMAN_BASELINE -- 布局文本时,大多数罗马字体中使用的基线。

  • static String SANS_SERIF -- 逻​​辑字体"SansSerif"的规范系列名称的字符串常量。

  • static String SERIF -- 逻​​辑字体"Serif"的规范系列名称的字符串常量。

  • protected int size -- 此 Font 的点大小,四舍五入为整数。

  • protected int style -- 此 Font 的样式,传递给构造函数。

  • static int TRUETYPE_FONT -- 标识 TRUETYPE 类型的字体资源。

  • static int TYPE1_FONT -- 标识 TYPE1 类型的字体资源。

类构造函数

S.N.构造函数 &描述
1

protected Font() ()

从指定字体创建新的 Font。

2

Font(Map<? extends AttributedCharacterIterator.Attribute,?> properties)

从指定字体创建新的 Font。

3

Font(String name, int style, int size)

从指定字体创建新的 Font。

类方法

S.N.方法 &描述
1

boolean canDisplay(char c)

检查此 Font 是否具有指定字符的字形。

2

boolean canDisplay(int codePoint)

检查此 Font 是否具有指定字符的字形。

3

int canDisplayUpTo(char[] text, int start, int limit)

指示此 Font 是否可以显示从 start 开始到 limit 结束的指定文本中的字符。

4

int canDisplayUpTo(CharacterIterator iter, int start, int limit)

表示此 Font 是否可以显示从 start 开始到 limit 结束的 iter 指定的文本。

5

int canDisplayUpTo(String str)

表示此 Font 是否可以显示指定的字符串。

6

static Font createFont(int fontFormat, File fontFile)

使用指定的字体类型和指定的字体文件返回一个新的 Font。

7

static Font createFont(int fontFormat, InputStream fontStream)

使用指定的字体类型和输入返回一个新的 Font数据。

8

GlyphVector createGlyphVector(FontRenderContext frc, char[] chars)

通过基于此 Font 中的 Unicode cmap 将字符一对一映射到字形来创建 GlyphVector。

9

GlyphVector createGlyphVector(FontRenderContext frc, CharacterIterator ci)

通过基于此 Font 中的 Unicode cmap 将指定字符一对一映射到字形来创建 GlyphVector。

10

GlyphVector createGlyphVector(FontRenderContext frc, int[] glyphCodes)

根据此 Font 中的 Unicode cmap 将字符一一映射到字形,从而创建一个 GlyphVector。

11

GlyphVector createGlyphVector(FontRenderContext frc, String str)

根据此 Font 中的 Unicode cmap 将字符一一映射到字形,从而创建一个 GlyphVector。

12

static Font decrypt(String str)

返回 str 参数描述的 Font。

13

Font deriveFont(AffineTransform trans)

创建一个通过复制当前 Font 对象并对其应用新变换来创建新的 Font 对象。

14

Font deriveFont(float size)

通过复制当前 Font 对象并对其应用新大小来创建新的 Font 对象。

15

Font deriveFont(int style)

通过复制当前 Font 对象并对其应用新样式来创建新的 Font 对象。

16

Font deriveFont(int style, AffineTransform trans)

通过复制此 Font 对象并应用新样式来创建新的 Font 对象和变换。

17

Font deriveFont(int style, float size)

通过复制此 Font 对象并应用新样式和大小来创建新的 Font 对象。

18

Font deriveFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)

通过复制当前 Font 对象并对其应用一组新的字体属性来创建新的 Font 对象。

19

boolean equals(Object obj)

将此 Font 对象与指定的 Object 进行比较。

20

protected void finalize()

处置本机 Font 对象。

21

Map<TextAttribute,?> getAttributes()

返回此 Font 中可用的字体属性映射。

22

AttributedCharacterIterator.Attribute[] getAvailableAttributes()

返回此 Font 支持的所有属性的键。

23

byte getBaselineFor(char c)

返回适合显示此字符的基线。

24

String getFamily()

返回此 Font 的系列名称。

25

String getFamily(Locale l)

返回此 Font 的系列名称,针对指定的语言环境进行本地化。

26

static Font getFont(Map<? extends AttributedCharacterIterator.Attribute,?> properties)

返回适合属性的 Font。

27

static Font getFont(String nm)

从系统属性列表中返回 Font 对象。

28

static Font getFont(String nm, Font font)

从系统属性中获取指定的 Font列表。

29

String getFontName()

返回此 Font 的字体名称。

30

String getFontName(Locale l)

返回 Font 的字体名称,针对指定的语言环境进行本地化。

31

float getItalicAngle()

返回此 Font 的斜体角度。

32

LineMetrics getLineMetrics(char[] chars, int beginIndex, int limit, FontRenderContext frc)

返回使用指定参数创建的 LineMetrics 对象。

33

LineMetrics getLineMetrics(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc)

返回使用指定参数创建的 LineMetrics 对象。

34

LineMetrics getLineMetrics(String str, FontRenderContext frc)

返回使用指定 String 和 FontRenderContext 创建的 LineMetrics 对象。

35

LineMetrics getLineMetrics(String str, int beginIndex, int limit, FontRenderContext frc)

返回 LineMetrics 对象使用指定的参数创建。

36

Rectangle2D getMaxCharBounds(FontRenderContext frc)

返回字符的边界,其最大边界在指定的 FontRenderContext 中定义。

37

int getMissingGlyphCode()

返回当此 Font 没有指定 unicode 代码点的字形时使用的 glyphCode。

38

String getName()

返回此 Font 的逻辑名称。

39

int getNumGlyphs()

返回此字体中的字形数量。

40

java.awt.peer.FontPeer getPeer()

已弃用。字体渲染现在与平台无关。

41

String getPSName()

返回此字体的后记名称。

42

int getSize()

返回此字体的点大小,四舍五入为整数。

43

float getSize2D()

以浮点值返回此 Font 的点大小。

44

Rectangle2D getStringBounds(char[] chars, int beginIndex, int limit, FontRenderContext frc)

返回指定 FontRenderContext 中指定字符数组的逻辑边界。

45

Rectangle2D getStringBounds(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc)

返回指定 FontRenderContext 中指定 CharacterIterator 中索引的字符的逻辑边界。

46

Rectangle2D getStringBounds(String str, FontRenderContext frc)

返回指定 FontRenderContext 中指定字符串的逻辑边界。

47

Rectangle2D getStringBounds(String str, int beginIndex, int limit, FontRenderContext frc)

返回指定 FontRenderContext 中指定字符串的逻辑边界。

48

int getStyle()

返回此 Font 的样式。

49

AffineTransform getTransform()

返回与此关联的转换的副本Font。

50

int hashCode()

返回此 Font 的哈希码。

51

boolean hasLayoutAttributes()

如果此 Font 包含需要额外布局处理的属性,则返回 true。

52

boolean hasUniformLineMetrics()

检查此 Font 是否具有统一的线条度量。

53

boolean isBold()

指示此 Font 对象的样式是否BOLD。

54

boolean isItalic()

表示此 Font 对象的样式是否为 ITALIC。

55

boolean isPlain()

表示此 Font 对象的样式是否为 PLAIN。

56

boolean isTransformed()

表示此 Font 对象除了 Size 属性之外,是否还具有影响其大小的变换。

57

GlyphVector layoutGlyphVector(FontRenderContext frc, char[] text, int start, int limit, int flags)

返回一个新的 GlyphVector 对象,如果可能则执行文本的完整布局。

58

String toString()

将此 Font 对象转换为字符串表示形式。

继承的方法

此类从以下类继承方法:

  • java.lang.Object

Font 示例

使用您选择的任何编辑器在 D:/ > AWT > com > tutorialspoint > gui > 中创建以下 Java 程序

AWTGraphicsDemo.java
package com.tutorialspoint.gui;

import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;

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 TutorialsPoint", 50, 70); 
      Font italicFont = new Font("Serif", Font.ITALIC, 24);        
      g2.setFont(italicFont);
      g2.drawString("Welcome to TutorialsPoint", 50, 120); 
      Font boldFont = new Font("Serif", Font.BOLD, 24);        
      g2.setFont(boldFont);
      g2.drawString("Welcome to TutorialsPoint", 50, 170); 
      Font boldItalicFont = new Font("Serif", Font.BOLD+Font.ITALIC, 24);        
      g2.setFont(boldItalicFont);
      g2.drawString("Welcome to TutorialsPoint", 50, 220); 
   }
}

使用命令提示符编译程序。转到 D:/ > AWT 并键入以下命令。

D:\AWT>javac com	utorialspoint\gui\AWTGraphicsDemo.java

如果没有错误,则表示编译成功。使用以下命令运行程序。

D:\AWT>java com.tutorialspoint.gui.AWTGraphicsDemo

验证以下输出

AWT Font

awt_graphics.html