AWT Font Class

The Font class states fonts, which are used to render text in a visible way.
Following is the declaration for java.awt.Font class:
public class Font
   extends Object
      implements Serializable
Following are the fields for java.awt.geom.Arc2D class:
static int BOLD  -- The bold style constant.
static int BOLD  -- The bold style constant.
static int CENTER_BASELINE  --The baseline used in ideographic scripts like Chinese, Japanese, and Korean when laying out text.
static int CENTER_BASELINE  --The baseline used in ideographic scripts like Chinese, Japanese, and Korean when laying out text.
static String	DIALOG  --A String constant for the canonical family name of the logical font "Dialog".
static String	DIALOG  --A String constant for the canonical family name of the logical font "Dialog".
static String	DIALOG_INPUT  --A String constant for the canonical family name of the logical font "DialogInput".
static String	DIALOG_INPUT  --A String constant for the canonical family name of the logical font "DialogInput".
static int HANGING_BASELINE  -- The baseline used in Devanigiri and similar scripts when laying out text.
static int HANGING_BASELINE  -- The baseline used in Devanigiri and similar scripts when laying out text.
static int ITALIC  -- The italicized style constant.
static int ITALIC  -- The italicized style constant.
static int LAYOUT_LEFT_TO_RIGHT  -- A flag to layoutGlyphVector indicating that text is left-to-right as determined by Bidi analysis.
static int LAYOUT_LEFT_TO_RIGHT  -- A flag to layoutGlyphVector indicating that text is left-to-right as determined by Bidi analysis.
static int LAYOUT_NO_LIMIT_CONTEXT  -- A flag to layoutGlyphVector indicating that text in the char array after the indicated limit should not be examined.
static int LAYOUT_NO_LIMIT_CONTEXT  -- A flag to layoutGlyphVector indicating that text in the char array after the indicated limit should not be examined.
static int LAYOUT_NO_START_CONTEXT  -- A flag to layoutGlyphVector indicating that text in the char array before the indicated start should not be examined.
static int LAYOUT_NO_START_CONTEXT  -- A flag to layoutGlyphVector indicating that text in the char array before the indicated start should not be examined.
static int LAYOUT_RIGHT_TO_LEFT  -- A flag to layoutGlyphVector indicating that text is right-to-left as determined by Bidi analysis.
static int LAYOUT_RIGHT_TO_LEFT  -- A flag to layoutGlyphVector indicating that text is right-to-left as determined by Bidi analysis.
static String	MONOSPACED  -- A String constant for the canonical family name of the logical font "Monospaced".
static String	MONOSPACED  -- A String constant for the canonical family name of the logical font "Monospaced".
protected  String	name  -- The logical name of this Font, as passed to the constructor.
protected  String	name  -- The logical name of this Font, as passed to the constructor.
static int PLAIN  --The plain style constant.
static int PLAIN  --The plain style constant.
protected  float	pointSize  -- The point size of this Font in float.
protected  float	pointSize  -- The point size of this Font in float.
static int ROMAN_BASELINE  --The baseline used in most Roman scripts when laying out text.
static int ROMAN_BASELINE  --The baseline used in most Roman scripts when laying out text.
static String	SANS_SERIF  --  A String constant for the canonical family name of the logical font "SansSerif".
static String	SANS_SERIF  --  A String constant for the canonical family name of the logical font "SansSerif".
static String	SERIF  -- A String constant for the canonical family name of the logical font "Serif".
static String	SERIF  -- A String constant for the canonical family name of the logical font "Serif".
protected  int size  --The point size of this Font, rounded to integer.
protected  int size  --The point size of this Font, rounded to integer.
protected  int style  -- The style of this Font, as passed to the constructor.
protected  int style  -- The style of this Font, as passed to the constructor.
static int TRUETYPE_FONT  -- Identify a font resource of type TRUETYPE.
static int TRUETYPE_FONT  -- Identify a font resource of type TRUETYPE.
static int TYPE1_FONT  --  Identify a font resource of type TYPE1.
static int TYPE1_FONT  --  Identify a font resource of type TYPE1.
protected Font() () 
 Creates a new Font from the specified font.
Font(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)
 Creates a new Font from the specified font.
Font(String name, int style, int size) 
 Creates a new Font from the specified font.
boolean canDisplay(char c)  
Checks if this Font has a glyph for the specified character.
boolean canDisplay(int codePoint)  
Checks if this Font has a glyph for the specified character.
int canDisplayUpTo(char[] text, int start, int limit)  
Indicates whether or not this Font can display the characters in the specified text starting at start and ending at limit.
int canDisplayUpTo(CharacterIterator iter, int start, int limit)  
Indicates whether or not this Font can display the text specified by the iter starting at start and ending at limit.
int canDisplayUpTo(String str)  
Indicates whether or not this Font can display a specified String.
static Font createFont(int fontFormat, File fontFile)  
Returns a new Font using the specified font type and the specified font file.
static Font createFont(int fontFormat, InputStream fontStream)  
 Returns a new Font using the specified font type and input data.
GlyphVector createGlyphVector(FontRenderContext frc, char[] chars)  
Creates a GlyphVector by mapping characters to glyphs one-to-one based on the Unicode cmap in this Font.
GlyphVector createGlyphVector(FontRenderContext frc, CharacterIterator ci)  
Creates a GlyphVector by mapping the specified characters to glyphs one-to-one based on the Unicode cmap in this Font.
GlyphVector createGlyphVector(FontRenderContext frc, int[] glyphCodes)
Creates a GlyphVector by mapping characters to glyphs one-to-one based on the Unicode cmap in this Font.
GlyphVector createGlyphVector(FontRenderContext frc, String str)  
 Creates a GlyphVector by mapping characters to glyphs one-to-one based on the Unicode cmap in this Font.
static Font    decode(String str)  
 Returns the Font that the str argument describes.
Font deriveFont(AffineTransform trans)  
Creates a new Font object by replicating the current Font object and applying a new transform to it.
Font deriveFont(float size) 
 Creates a new Font object by replicating the current Font object and applying a new size to it.
Font deriveFont(int style)  
Creates a new Font object by replicating the current Font object and applying a new style to it.
Font deriveFont(int style, AffineTransform trans)  
Creates a new Font object by replicating this Font object and applying a new style and transform.
Font deriveFont(int style, float size)  
Creates a new Font object by replicating this Font object and applying a new style and size.
Font deriveFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)  
Creates a new Font object by replicating the current Font object and applying a new set of font attributes to it.
boolean equals(Object obj)  
Compares this Font object to the specified Object.
protected  void finalize()  
 Disposes the native Font object.
Map<TextAttribute,?>	getAttributes()  
Returns a map of font attributes available in this Font.
AttributedCharacterIterator.Attribute[]	getAvailableAttributes()  
Returns the keys of all the attributes supported by this Font.
byte getBaselineFor(char c)  
Returns the baseline appropriate for displaying this character.
String  getFamily()  
 Returns the family name of this Font.
String  getFamily(Locale l)  
Returns the family name of this Font, localized for the specified locale.
static Font getFont(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)
 Returns a Font appropriate to the attributes.
static Font getFont(String nm)  
Returns a Font object fom the system properties list.
static Font getFont(String nm, Font font)
 Gets the specified Font from the system properties list.
String  getFontName()  
Returns the font face name of this Font.
String  getFontName(Locale l)  
Returns the font face name of the Font, localized for the specified locale.
float	getItalicAngle()  
Returns the italic angle of this Font.
LineMetrics getLineMetrics(char[] chars, int beginIndex, int limit, FontRenderContext frc) 
  Returns a LineMetrics object created with the specified arguments.
LineMetrics getLineMetrics(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc)  
 Returns a LineMetrics object created with the specified arguments.
LineMetrics getLineMetrics(String str, FontRenderContext frc)  
 Returns a LineMetrics object created with the specified String and FontRenderContext.
LineMetrics getLineMetrics(String str, int beginIndex, int limit, FontRenderContext frc)
Returns a LineMetrics object created with the specified arguments.
Rectangle2D getMaxCharBounds(FontRenderContext frc)  
Returns the bounds for the character with the maximum bounds as defined in the specified FontRenderContext.
int getMissingGlyphCode()  
Returns the glyphCode which is used when this Font does not have a glyph for a specified unicode code point.
String getName()  
Returns the logical name of this Font.
int getNumGlyphs()  
Returns the number of glyphs in this Font.
java.awt.peer.FontPeer	getPeer()  
 Deprecated. Font rendering is now platform independent.
String  getPSName()  
Returns the postscript name of this Font.
int getSize()  
 Returns the point size of this Font, rounded to an integer.
float	getSize2D()  
Returns the point size of this Font in float value.
Rectangle2D getStringBounds(char[] chars, int beginIndex, int limit, FontRenderContext frc)  
Returns the logical bounds of the specified array of characters in the specified FontRenderContext.
Rectangle2D getStringBounds(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc)  
 Returns the logical bounds of the characters indexed in the specified CharacterIterator in the specified FontRenderContext.
Rectangle2D getStringBounds(String str, FontRenderContext frc)  
 Returns the logical bounds of the specified String in the specified FontRenderContext.
Rectangle2D getStringBounds(String str, int beginIndex, int limit, FontRenderContext frc)  
Returns the logical bounds of the specified String in the specified FontRenderContext.
int getStyle()  
 Returns the style of this Font.
AffineTransform getTransform()  
Returns a copy of the transform associated with this Font.
int hashCode()  
Returns a hashcode for this Font.
boolean hasLayoutAttributes()  
Return true if this Font contains attributes that require extra layout processing.
boolean hasUniformLineMetrics()  
Checks whether or not this Font has uniform line metrics.
boolean isBold()  
Indicates whether or not this Font object's style is BOLD.
boolean isItalic()  
Indicates whether or not this Font object's style is ITALIC.
boolean isPlain()  
Indicates whether or not this Font object's style is PLAIN.
boolean isTransformed()  
Indicates whether or not this Font object has a transform that affects its size in addition to the Size attribute.
GlyphVector layoutGlyphVector(FontRenderContext frc, char[] text, int start, int limit, int flags)  
Returns a new GlyphVector object, performing full layout of the text if possible.
String  toString()  
Converts this Font object to a String representation.
This class inherits methods from the following classes:
java.lang.Object
java.lang.Object
Create the following java program using any editor of your choice in say D:/ > AWT > com > tutorialspoint > gui >
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); 
   }
}
Compile the program using command prompt. Go to D:/ > AWT  and type the following command.
D:\AWT>javac com\tutorialspoint\gui\AWTGraphicsDemo.java
If no error comes that means compilation is successful. Run the program using following command.
D:\AWT>java com.tutorialspoint.gui.AWTGraphicsDemo
Verify the following output

    13 Lectures 
     2 hours 

 EduOLC
 Print
 Add Notes
 Bookmark this page