Class Font
public final class Font extends Object
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 Node for more information on the default coordinate system
- Since:
- JavaFX 2.0
Constructor Summary
| Constructor | Description |
|---|---|
Font |
Constructs a font using the default face "System". |
Font |
Constructs a font using the specified full face name and size |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
boolean |
equals |
Indicates whether some other object is "equal to" this one. |
static Font |
font |
Searches for an appropriate font based on the default font family name and given font size. |
static Font |
font |
Searches for an appropriate font based on the given font family name and default font size. |
static Font |
font |
Searches for an appropriate font based on the font family name and size. |
static Font |
font |
Searches for an appropriate font based on the font family name and posture style. |
static Font |
font |
Searches for an appropriate font based on the font family name and weight style. |
static Font |
font |
Searches for an appropriate font based on the font family name and weight and posture style. |
static 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. |
static List |
getFamilies() |
Gets all the font families installed on the user's system, including any application fonts or SDK fonts. |
final String |
getFamily() |
Returns the family of this font. |
static List |
getFontNames() |
Gets the names of all fonts that are installed on the users system, including any application fonts and SDK fonts. |
static List |
getFontNames |
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. |
final String |
getName() |
The full font name. |
final double |
getSize() |
The point size for this font. |
final String |
getStyle() |
The font specified string describing the style within the font family. |
int |
hashCode() |
Returns a hash code for this Font object. |
static Font |
loadFont |
Loads a font resource from the specified input stream. |
static Font |
loadFont |
Loads a font resource from the specified URL. |
static Font[] |
loadFonts |
Loads font resources from the specified input stream. |
static Font[] |
loadFonts |
Loads font resources from the specified URL. |
String |
toString() |
Converts this Font object to a String representation. |
Constructor Details
Font
public Font(double size)
- Parameters:
-
size- the font size to use
Font
public Font(String name, double size)
- Parameters:
-
name- full name of the font. -
size- the font size to use
Method Details
getDefault
public static Font getDefault()
- Returns:
- The default font.
getFamilies
public static List<String> getFamilies()
- Returns:
- The list containing all available font families.
getFontNames
public static List<String> getFontNames()
- Returns:
- The list containing all available fonts.
getFontNames
public static List<String> getFontNames(String family)
- Parameters:
-
family- the font family - Returns:
- The list containing the fonts for the given family.
font
public static Font font(String family, FontWeight weight, FontPosture posture, double size)
A null or empty value for family allows the implementation to select any suitable font.
- Parameters:
-
family- The family of the font -
weight- The weight of the font -
posture- The posture or posture of the font -
size- 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:
- The font that best fits the specified requirements.
font
public static Font font(String family, FontWeight weight, double size)
- Parameters:
-
family- The family of the font -
weight- The weight of the font -
size- 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:
- The font that best fits the specified requirements.
font
public static Font font(String family, FontPosture posture, double size)
- Parameters:
-
family- The family of the font -
posture- The posture or posture of the font -
size- 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:
- The font that best fits the specified requirements.
font
public static Font font(String family, double size)
- Parameters:
-
family- The family of the font -
size- 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:
- The font that best fits the specified requirements.
font
public static Font font(String family)
- Parameters:
-
family- The family of the font - Returns:
- The font that best fits the specified requirements.
font
public static Font font(double size)
- Parameters:
-
size- 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:
- The font that best fits the specified requirements.
getName
public final String getName()
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(java.lang.String, javafx.scene.text.FontWeight, javafx.scene.text.FontPosture, double) factory methods defined in this class.
- Default value:
- empty string
- Returns:
- the full font name
getFamily
public final String getFamily()
- Returns:
- The family of this font.
getStyle
public final String getStyle()
- Returns:
- The style name of this font.
getSize
public final double getSize()
11.5. If the specified value is < 0 the default size will be used.- Default value:
- 12
- Returns:
- the point size for this font
loadFont
public static Font loadFont(String urlStr, double size)
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- from which to load the font, specified as a String. -
size- of the returned font. - Returns:
- the Font, or null if the font cannot be created.
loadFonts
public static Font[] loadFonts(String urlStr, double size)
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- from which to load the fonts, specified as a String. -
size- of the returned fonts. - Returns:
- array of Font, or null if the fonts cannot be created.
- Since:
- 9
loadFont
public static Font loadFont(InputStream in, double size)
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- stream from which to load the font. -
size- of the returned font. - Returns:
- the Font, or null if the font cannot be created.
loadFonts
public static Font[] loadFonts(InputStream in, double size)
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- stream from which to load the fonts. -
size- of the returned fonts. - Returns:
- array of Font, or null if the fonts cannot be created.
- Since:
- 9
toString
equals
hashCode
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.