APIdia Launch Partner
Top Description Fields Constructors Methods
javafx.scene.text

public final Class Font

extends Object
Class Inheritance
Imports
com.sun.javafx.scene.text.FontHelper, java.io.InputStream, java.net.URL, .URLConnection, java.util.List, com.sun.javafx.tk.Toolkit, javafx.beans.NamedArg

The Font class represents fonts, which are used to render text on screen.

The size of a Font is described as being specified in points which are a real world measurement of approximately 1/72 inch.

Given that fonts scale with the rendering transform as determined by the transform attributes of a Node using the Font and its ancestors, the size will actually be relative to the local coordinate space of the node, which should provide coordinates similar to the size of a point if no scaling transforms are present in the environment of the node. Note that the real world distances specified by the default coordinate system only approximate point sizes as a rule of thumb and are typically defaulted to screen pixels for most displays.

For more information see javafx.scene.Node for more information on the default coordinate system

Since
JavaFX 2.0

Field Summary

Modifier and TypeField and Description
private static Font
private static final String
private static final String
private static float
defaultSystemFontSize

The default font for this platform.

private String
private int
hash

The cached hash code, used to improve performance in situations where we cache fonts, such as in the CSS routines.

private String
private Object
private double
private String

Constructor Summary

AccessConstructor and Description
public
Font(double
the font size to use
size
)

Constructs a font using the default face "System".

public
Font(String
full name of the font.
name
,
double
the font size to use
size
)

Constructs a font using the specified full face name and size

private
Font(Object
native font
f
,
String
font family name
family
,
String
font full name
name
,
String
style string
style
,
double
font size
size
)

Private constructor for internal implementation

Method Summary

Modifier and TypeMethod and Description
public boolean

Returns:

true if this object is equal to the obj argument; false otherwise.
equals
(Object
the reference object with which to compare.
obj
)

Overrides java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

public static Font

Returns:

The font that best fits the specified requirements.
font
(String
The family of the font
family
,
FontWeight
The weight of the font
weight
,
FontPosture
The posture or posture of the font
posture
,
double
The point size of the font. This can be a fractional value, but must not be negative. If the size is < 0 the default size will be used.
size
)

Searches for an appropriate font based on the font family name and weight and posture style.

public static Font

Returns:

The font that best fits the specified requirements.
font
(String
The family of the font
family
,
FontWeight
The weight of the font
weight
,
double
The point size of the font. This can be a fractional value, but must not be negative. If the size is < 0 the default size will be used.
size
)

Searches for an appropriate font based on the font family name and weight style.

public static Font

Returns:

The font that best fits the specified requirements.
font
(String
The family of the font
family
,
FontPosture
The posture or posture of the font
posture
,
double
The point size of the font. This can be a fractional value, but must not be negative. If the size is < 0 the default size will be used.
size
)

Searches for an appropriate font based on the font family name and posture style.

public static Font

Returns:

The font that best fits the specified requirements.
font
(String
The family of the font
family
,
double
The point size of the font. This can be a fractional value, but must not be negative. If the size is < 0 the default size will be used.
size
)

Searches for an appropriate font based on the font family name and size.

public static Font

Returns:

The font that best fits the specified requirements.
font
(String
The family of the font
family
)

Searches for an appropriate font based on the given font family name and default font size.

public static Font

Returns:

The font that best fits the specified requirements.
font
(double
The point size of the font. This can be a fractional value, but must not be negative. If the size is < 0 the default size will be used.
size
)

Searches for an appropriate font based on the default font family name and given font size.

public static synchronized Font

Returns:

The default font.
getDefault
()

Gets the default font which will be from the family "System", and typically the style "Regular", and be of a size consistent with the user's desktop environment, to the extent that can be determined.

private static float
public static List<String>

Returns:

The list containing all available font families.
getFamilies
()

Gets all the font families installed on the user's system, including any application fonts or SDK fonts.

public final String

Returns:

The family of this font.
getFamily
()

Returns the family of this font.

public static List<String>

Returns:

The list containing all available fonts.
getFontNames
()

Gets the names of all fonts that are installed on the users system, including any application fonts and SDK fonts.

public static List<String>

Returns:

The list containing the fonts for the given family.
getFontNames
(String
the font family
family
)

Gets the names of all fonts in the specified font family that are installed on the users system, including any application fonts and SDK fonts.

public final String

Returns:

the full font name
getName
()

The full font name.

pack-priv Object
public final double

Returns:

the point size for this font
getSize
()

The point size for this font.

public final String

Returns:

The style name of this font.
getStyle
()

The font specified string describing the style within the font family.

public int

Returns:

a hash code for this Font object.
hashCode
()

Overrides java.lang.Object.hashCode.

Returns a hash code for this Font object.

public static Font

Returns:

the Font, or null if the font cannot be created.
loadFont
(String
from which to load the font, specified as a String.
urlStr
,
double
of the returned font.
size
)

Loads a font resource from the specified URL.

public static Font

Returns:

the Font, or null if the font cannot be created.
loadFont
(InputStream
stream from which to load the font.
in
,
double
of the returned font.
size
)

Loads a font resource from the specified input stream.

private static Font[]
loadFontInternal(String urlStr, double size, boolean loadAll)

public static Font[]

Returns:

array of Font, or null if the fonts cannot be created.
loadFonts
(String
from which to load the fonts, specified as a String.
urlStr
,
double
of the returned fonts.
size
)

Loads font resources from the specified URL.

public static Font[]

Returns:

array of Font, or null if the fonts cannot be created.
loadFonts
(InputStream
stream from which to load the fonts.
in
,
double
of the returned fonts.
size
)

Loads font resources from the specified input stream.

pack-priv static Font
nativeFont(Object f, String name, String family, String style, double size)

pack-priv void
public String
toString()

Overrides java.lang.Object.toString.

Converts this Font object to a String representation.

Inherited from java.lang.Object:
clonefinalizegetClassnotifynotifyAllwaitwaitwait

Field Detail

DEFAULTback to summary
private static Font DEFAULT
DEFAULT_FAMILYback to summary
private static final String DEFAULT_FAMILY
DEFAULT_FULLNAMEback to summary
private static final String DEFAULT_FULLNAME
defaultSystemFontSizeback to summary
private static float defaultSystemFontSize

The default font for this platform. This is used whenever a font is not specifically set on a Text node or overridden by CSS.

familyback to summary
private String family
hashback to summary
private int hash

The cached hash code, used to improve performance in situations where we cache fonts, such as in the CSS routines.

nameback to summary
private String name
nativeFontback to summary
private Object nativeFont
sizeback to summary
private double size
styleback to summary
private String style

Constructor Detail

Fontback to summary
public Font(double size)

Constructs a font using the default face "System". The underlying font used is determined by the implementation based on the typical UI font for the current UI environment.

Parameters
size:double

the font size to use

Fontback to summary
public Font(String name, double size)

Constructs a font using the specified full face name and size

Parameters
name:String

full name of the font.

size:double

the font size to use

Fontback to summary
private Font(Object f, String family, String name, String style, double size)

Private constructor for internal implementation

Parameters
f:Object

native font

family:String

font family name

name:String

font full name

style:String

style string

size:double

font size

Method Detail

equalsback to summary
public boolean equals(Object obj)

Overrides java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

Parameters
obj:Object

the reference object with which to compare.

Returns:boolean

true if this object is equal to the obj argument; false otherwise.

Annotations
@Override
fontback to summary
public static Font font(String family, FontWeight weight, FontPosture posture, double size)

Searches for an appropriate font based on the font family name and weight and posture style. This method is not guaranteed to return a specific font, but does its best to find one that fits the specified requirements.

A null or empty value for family allows the implementation to select any suitable font.

Parameters
family:String

The family of the font

weight:FontWeight

The weight of the font

posture:FontPosture

The posture or posture of the font

size:double

The point size of the font. This can be a fractional value, but must not be negative. If the size is < 0 the default size will be used.

Returns:Font

The font that best fits the specified requirements.

fontback to summary
public static Font font(String family, FontWeight weight, double size)

Searches for an appropriate font based on the font family name and weight style. This method is not guaranteed to return a specific font, but does its best to find one that fits the specified requirements. A null or empty value for family allows the implementation to select any suitable font.

Parameters
family:String

The family of the font

weight:FontWeight

The weight of the font

size:double

The point size of the font. This can be a fractional value, but must not be negative. If the size is < 0 the default size will be used.

Returns:Font

The font that best fits the specified requirements.

fontback to summary
public static Font font(String family, FontPosture posture, double size)

Searches for an appropriate font based on the font family name and posture style. This method is not guaranteed to return a specific font, but does its best to find one that fits the specified requirements. A null or empty value for family allows the implementation to select any suitable font.

Parameters
family:String

The family of the font

posture:FontPosture

The posture or posture of the font

size:double

The point size of the font. This can be a fractional value, but must not be negative. If the size is < 0 the default size will be used.

Returns:Font

The font that best fits the specified requirements.

fontback to summary
public static Font font(String family, double size)

Searches for an appropriate font based on the font family name and size. This method is not guaranteed to return a specific font, but does its best to find one that fits the specified requirements. A null or empty value for family allows the implementation to select any suitable font.

Parameters
family:String

The family of the font

size:double

The point size of the font. This can be a fractional value, but must not be negative. If the size is < 0 the default size will be used.

Returns:Font

The font that best fits the specified requirements.

fontback to summary
public static Font font(String family)

Searches for an appropriate font based on the given font family name and default font size. This method is not guaranteed to return a specific font, but does its best to find one that fits the specified requirements. A null or empty value for family allows the implementation to select any suitable font.

Parameters
family:String

The family of the font

Returns:Font

The font that best fits the specified requirements.

fontback to summary
public static Font font(double size)

Searches for an appropriate font based on the default font family name and given font size. This method is not guaranteed to return a specific font, but does its best to find one that fits the specified requirements.

Parameters
size:double

The point size of the font. This can be a fractional value, but must not be negative. If the size is < 0 the default size will be used.

Returns:Font

The font that best fits the specified requirements.

getDefaultback to summary
public static synchronized Font getDefault()

Gets the default font which will be from the family "System", and typically the style "Regular", and be of a size consistent with the user's desktop environment, to the extent that can be determined.

Returns:Font

The default font.

getDefaultSystemFontSizeback to summary
private static float getDefaultSystemFontSize()
getFamiliesback to summary
public static List<String> getFamilies()

Gets all the font families installed on the user's system, including any application fonts or SDK fonts. This call has performance considerations as looking up all of the fonts may be an expensive operation the first time.

Returns:List<String>

The list containing all available font families.

getFamilyback to summary
public final String getFamily()

Returns the family of this font.

Returns:String

The family of this font.

getFontNamesback to summary
public static List<String> getFontNames()

Gets the names of all fonts that are installed on the users system, including any application fonts and SDK fonts. This call has performance considerations as looking up all of the fonts may be an expensive operation the first time.

Returns:List<String>

The list containing all available fonts.

getFontNamesback to summary
public static List<String> getFontNames(String family)

Gets the names of all fonts in the specified font family that are installed on the users system, including any application fonts and SDK fonts. This call has performance considerations as looking up all of the fonts may be an expensive operation the first time.

Parameters
family:String

the font family

Returns:List<String>

The list containing the fonts for the given family.

getNameback to summary
public final String getName()

The full font name. This name includes both the family name and the style variant within that family. For example, for a plain Arial font this would be "Arial Regular" and for a bolded Arial font this would be "Arial Bold". The precise name to use when loading a font is defined within each font file as the full font name. For example, "Proxima Nova ExtraCondensed Bold Italic" would refer to a specific Proxima Nova font. A null or empty name allows the implementation to select any suitable font.

There is a single unified way to load all of application supplied (via Font.loadFont(), JavaFX runtime delivered fonts, and system installed fonts. Simply create the font by specifying the full name of the font you want to load. If the specific font cannot be located, then a fallback or default font will be used. The "name" will be updated to reflect the actual name of the font being used. A load failure condition can be discovered by checking the name of the Font with the name you tried to load.

Note that if you wish to locate a font by font family and style then you can use one of the font factory methods defined in this class.

Returns:String

the full font name

Default Value
empty string
getNativeFontback to summary
pack-priv Object getNativeFont()
getSizeback to summary
public final double getSize()

The point size for this font. This may be a fractional value such as 11.5. If the specified value is < 0 the default size will be used.

Returns:double

the point size for this font

Default Value
12
getStyleback to summary
public final String getStyle()

The font specified string describing the style within the font family.

Returns:String

The style name of this font.

hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

Returns a hash code for this Font object.

Returns:int

a hash code for this Font object.

Annotations
@Override
loadFontback to summary
public static Font loadFont(String urlStr, double size)

Loads a font resource from the specified URL. If the load is successful such that the location is readable, and it represents a supported font format then a Font object will be returned.

Any failure such as a malformed URL being unable to locate or read from the resource, or if it doesn't represent a font, will result in a null return. It is the application's responsibility to check this before use.

On a successful (non-null) return the font will be registered with the FX graphics system for creation by available constructors and factory methods, and the application should use it in this manner rather than calling this method again, which would repeat the overhead of downloading and installing the font.

The font size parameter is a convenience so that in typical usage the application can directly use the returned (non-null) font rather than needing to create one via a constructor. Invalid sizes are those <=0 and will result in a default size.

If the URL represents a local disk file, then no copying is performed and the font file is required to persist for the lifetime of the application. Updating the file in any manner will result in unspecified and likely undesired behaviours.

Parameters
urlStr:String

from which to load the font, specified as a String.

size:double

of the returned font.

Returns:Font

the Font, or null if the font cannot be created.

loadFontback to summary
public static Font loadFont(InputStream in, double size)

Loads a font resource from the specified input stream. If the load is successful such that the stream can be fully read, and it represents a supported font format then a Font object will be returned.

Any failure such as abbreviated input, or an unsupported font format will result in a null return. It is the application's responsibility to check this before use.

On a successful (non-null) return the font will be registered with the FX graphics system for creation by available constructors and factory methods, and the application should use it in this manner rather than calling this method again, which would repeat the overhead of re-reading and installing the font.

The font size parameter is a convenience so that in typical usage the application can directly use the returned (non-null) font rather than needing to create one via a constructor. Invalid sizes are those <=0 and will result in a default size.

This method does not close the input stream.

Parameters
in:InputStream

stream from which to load the font.

size:double

of the returned font.

Returns:Font

the Font, or null if the font cannot be created.

loadFontInternalback to summary
private static Font[] loadFontInternal(String urlStr, double size, boolean loadAll)
loadFontsback to summary
public static Font[] loadFonts(String urlStr, double size)

Loads font resources from the specified URL. If the load is successful such that the location is readable, and it represents a supported font format then an array of Font will be returned.

The use case for this method is for loading all fonts from a TrueType Collection (TTC).

Any failure such as a malformed URL being unable to locate or read from the resource, or if it doesn't represent a font, will result in a null return. It is the application's responsibility to check this before use.

On a successful (non-null) return the fonts will be registered with the FX graphics system for creation by available constructors and factory methods, and the application should use it in this manner rather than calling this method again, which would repeat the overhead of downloading and installing the fonts.

The font size parameter is a convenience so that in typical usage the application can directly use the returned (non-null) font rather than needing to create one via a constructor. Invalid sizes are those <=0 and will result in a default size.

If the URL represents a local disk file, then no copying is performed and the font file is required to persist for the lifetime of the application. Updating the file in any manner will result in unspecified and likely undesired behaviours.

Parameters
urlStr:String

from which to load the fonts, specified as a String.

size:double

of the returned fonts.

Returns:Font[]

array of Font, or null if the fonts cannot be created.

Since
9
loadFontsback to summary
public static Font[] loadFonts(InputStream in, double size)

Loads font resources from the specified input stream. If the load is successful such that the stream can be fully read, and it represents a supported font format then an array of Font will be returned.

The use case for this method is for loading all fonts from a TrueType Collection (TTC).

Any failure such as abbreviated input, or an unsupported font format will result in a null return. It is the application's responsibility to check this before use.

On a successful (non-null) return the fonts will be registered with the FX graphics system for creation by available constructors and factory methods, and the application should use it in this manner rather than calling this method again, which would repeat the overhead of re-reading and installing the fonts.

The font size parameter is a convenience so that in typical usage the application can directly use the returned (non-null) fonts rather than needing to re-create via a constructor. Invalid sizes are those <=0 and will result in a default size.

This method does not close the input stream.

Parameters
in:InputStream

stream from which to load the fonts.

size:double

of the returned fonts.

Returns:Font[]

array of Font, or null if the fonts cannot be created.

Since
9
nativeFontback to summary
pack-priv static Font nativeFont(Object f, String name, String family, String style, double size)
setNativeFontback to summary
pack-priv void setNativeFont(Object f, String nam, String fam, String styl)
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Converts this Font object to a String representation. The String representation is for informational use only and will change. Do not use this string representation for any programmatic purpose.

Annotations
@Override