In Java, Schriftart ist eine Klasse, die zu der gehört java.awt Paket. Es implementiert die Serializable-Schnittstelle. FontUIResource ist die direkt bekannte Unterklasse der Java-Font-Klasse.
Es stellt die Schriftart dar, die zum Rendern des Textes verwendet wird. In Java gibt es zwei Fachbegriffe, die zur Darstellung von Schriftarten verwendet werden Figuren Und Glyphen .
Arten von Schriftarten in Java
In Java gibt es zwei Arten von Schriftarten:
- Physische Schriftarten
- Logische Schriftarten
Physische Schriftarten
Physische Schriftarten sind echte Java-Schriftartenbibliotheken. Es enthält Tabellen, die Zeichenfolgen mithilfe der Schriftartentechnologie Glyphensequenzen zuordnen, z TrueType-Schriftarten (TTF) und PostScript Type 1-Schriftart . Beachten Sie, dass alle Java-Implementierungen TTF unterstützen müssen. Die Verwendung anderer Schriftarttechnologien ist abhängig von der Implementierung. Die physische Schriftart umfasst den Namen, z Helvetica, Palatino, HonMincho , andere Schriftartnamen.
Java-Tutorial für Anfänger
Die Eigenschaft der physischen Schriftart besteht darin, dass sie die begrenzte Anzahl von Schriftsystemen wie z Lateinische Schriftzeichen oder nur japanisch Und Grundlegendes Latein Figuren. Aufgrund von Konfigurationsänderungen kann es zu Abweichungen kommen. Wenn eine Anwendung eine bestimmte Schriftart erfordert, kann der Benutzer diese Schriftart mithilfe von bündeln und instanziieren createFont() Methode der Java-Font-Klasse.
Logische Schriftarten
Java definiert fünf logische Schriftfamilien, die es gibt Serif, SansSerif, Monospaced, Dialog, Und DialogInput . Es muss von der JRE unterstützt werden. Beachten Sie, dass JRE die logischen Schriftartennamen physischen Schriftarten zuordnet, da es sich dabei nicht um die eigentlichen Schriftartenbibliotheken handelt. Normalerweise ist die Mapping-Implementierung vom Gebietsschema abhängig. Jeder logische Schriftartname wird mehreren physischen Schriftarten zugeordnet, um einen großen Zeichenbereich abzudecken.
Beispielsweise können AWT-Komponenten wie z Etikett Und Textfeld verwendet nur logische Schriftarten.
Protokolle der Datenverbindungsschicht
Schriftarten und Namen
Eine Schriftart kann viele Schriftarten haben, z. B. schwere, normale, mittlere, schräge, gotische Schriftart usw. Alle Schriftarten haben ein ähnliches typografisches Design.
Ein Font-Objekt hat drei verschiedene Namen:
Die Java-Font-Klasse stellt eine Instanz einer Schriftart aus einer Sammlung von Schriftarten dar, die in den Systemressourcen des Hostsystems vorhanden sind. Beispiele für Schriftarten sind Arial Bold, Courier Bold Italic usw. Eine Schriftart (jeweils unterschiedlich in Größe, Stil, Transformation und Schriftartfunktion) kann mit mehreren Schriftartobjekten verknüpft sein.
Schriftartklassenfelder
Modifikator | Feld | Beschreibung |
---|---|---|
statisch int | DEUTLICH | Die kühne Stilkonstante. |
statisch int | CENTER_BASELINE | Die Grundlinie, die in ideografischen Schriften wie Chinesisch, Japanisch und Koreanisch beim Layouten von Text verwendet wird. |
statischer String | DIALOG | Eine String-Konstante für den kanonischen Familiennamen der logischen Schriftart „Dialog“. |
statischer String | DIALOG_INPUT | Eine String-Konstante für den kanonischen Familiennamen der logischen Schriftart „DialogInput“. |
statisch int | HANGING_BASELINE | Die Grundlinie, die in Devanigiri und ähnlichen Skripten beim Layouten von Text verwendet wird. |
statisch int | KURSIV | Die kursive Stilkonstante. |
statisch int | LAYOUT_LEFT_TO_RIGHT | Ein Flag für „layoutGlyphVector“, das angibt, dass der Text gemäß der Bidi-Analyse von links nach rechts verläuft. |
statisch int | LAYOUT_NO_LIMIT_CONTEXT | Ein Flag für „layoutGlyphVector“, das angibt, dass Text im char-Array nach dem angegebenen Grenzwert nicht untersucht werden soll. |
statisch int | LAYOUT_NO_START_CONTEXT | Ein Flag für layoutGlyphVector, das angibt, dass Text im char-Array vor dem angegebenen Anfang nicht untersucht werden soll. |
statisch int | LAYOUT_RIGHT_TO_LEFT | Ein Flag für „layoutGlyphVector“, das angibt, dass der Text gemäß der Bidi-Analyse von rechts nach links geschrieben ist. |
statischer String | EINFACH | Eine String-Konstante für den kanonischen Familiennamen der logischen Schriftart „Monospaced“. |
statischer String | Name | Der logische Name dieser Schriftart, wie er an den Konstruktor übergeben wurde. |
statisch int | SCHMUCKLOS | Die schlichte Stilkonstante. |
statischer Schwimmer | pointSize | Die Punktgröße dieser Schriftart in Float. |
statisch int | ROMAN_BASELINE | Die Grundlinie, die in den meisten lateinischen Schriften beim Layouten von Texten verwendet wird. |
statischer String | SERIFENLOS | Eine String-Konstante für den kanonischen Familiennamen der logischen Schriftart „SansSerif“. |
statischer String | SERIF | Eine String-Konstante für den kanonischen Familiennamen der logischen Schriftart „Serif“. |
geschützt int | Größe | Die Punktgröße dieser Schriftart, gerundet auf eine Ganzzahl. |
geschützt int | Stil | Der Stil dieser Schriftart, wie er an den Konstruktor übergeben wird. |
statisch int | TRUETYPE_FONT | Identifizieren Sie eine Schriftartressource vom Typ TRUETYPE. |
statisch int | TYPE1_FONT | Identifizieren Sie eine Schriftartressource vom Typ TYPE1. |
Konstruktoren von Schriftartklassen
Konstrukteur | Beschreibung |
---|---|
Schriftart (Schriftart) | Erstellt eine neue Schriftart aus der angegebenen Schriftart. |
Schriftart (Map-Attribute) | Erstellt eine neue Schriftart mit den angegebenen Attributen. |
Schriftart (Stringname, Int-Stil, Int-Größe) | Erstellt eine neue Schriftart aus dem angegebenen Namen, Stil und der angegebenen Punktgröße. |
Methoden der Schriftartenklasse
Methoden | Beschreibung |
---|---|
canDisplay(char c) | Es prüft, ob diese Schriftart eine Glyphe für das angegebene Zeichen enthält. |
canDisplay(int codePoint) | Es prüft, ob diese Schriftart eine Glyphe für das angegebene Zeichen enthält. |
canDisplayUpTo(char[] text, int start, int limit) | Es gibt an, ob diese Schriftart die Zeichen im angegebenen Text beginnend am Anfang und endend am Limit anzeigen kann oder nicht. |
canDisplayUpTo(CharacterIterator path, int start, int limit) | Es gibt an, ob diese Schriftart den vom Iter angegebenen Text beginnend beim Start und endend beim Limit anzeigen kann oder nicht. |
canDisplayUpTo(String str) | Es gibt an, ob diese Schriftart einen bestimmten String anzeigen kann oder nicht. |
createFont(int FontFormat, File FontFile) | Es gibt eine neue Schriftart zurück, die den angegebenen Schriftarttyp und die angegebene Schriftartdatei verwendet. |
createFont(int FontFormat, InputStream FontStream) | Es gibt eine neue Schriftart mit dem angegebenen Schriftarttyp und den angegebenen Eingabedaten zurück. |
createGlyphVector(FontRenderContext frc, char[] chars) | Es erstellt einen GlyphVector, indem es Zeichen eins zu eins Glyphen zuordnet, basierend auf der Unicode-Cmap in dieser Schriftart. |
createGlyphVector(FontRenderContext frc, CharacterIterator ci) | Es erstellt einen GlyphVector, indem es die angegebenen Zeichen eins zu eins Glyphen zuordnet, basierend auf der Unicode-Cmap in dieser Schriftart. |
createGlyphVector(FontRenderContext frc, int[] glyphCodes) | Es erstellt einen GlyphVector, indem es Zeichen eins zu eins Glyphen zuordnet, basierend auf der Unicode-Cmap in dieser Schriftart. |
createGlyphVector(FontRenderContext frc, String str) | Es erstellt einen GlyphVector, indem es Zeichen eins zu eins Glyphen zuordnet, basierend auf der Unicode-Cmap in dieser Schriftart. |
decode(String str) | Es gibt die Schriftart zurück, die das str-Argument beschreibt. |
deriveFont(AffineTransform trans) | Es erstellt ein neues Font-Objekt, indem es das aktuelle Font-Objekt repliziert und eine neue Transformation darauf anwendet. |
deriveFont(Float-Größe) | Es erstellt ein neues Font-Objekt, indem es das aktuelle Font-Objekt repliziert und ihm eine neue Größe zuweist. |
deriveFont(int style) | Es erstellt ein neues Font-Objekt, indem es das aktuelle Font-Objekt repliziert und einen neuen Stil darauf anwendet. |
deriveFont(int style, AffineTransform trans) | Es erstellt ein neues Font-Objekt, indem es dieses Font-Objekt repliziert und einen neuen Stil und eine neue Transformation anwendet. |
deriveFont(int-Stil, Float-Größe) | Es erstellt ein neues Font-Objekt, indem es dieses Font-Objekt repliziert und einen neuen Stil und eine neue Größe anwendet. |
deriveFont(Map-Attribute) | Es erstellt ein neues Font-Objekt, indem es das aktuelle Font-Objekt repliziert und einen neuen Satz von Font-Attributen darauf anwendet. |
equal(Objekt obj) | Es vergleicht dieses Font-Objekt mit dem angegebenen Objekt. |
getAttributes() | Es gibt eine Karte der in dieser Schriftart verfügbaren Schriftartattribute zurück. |
getAvailableAttributes() | Es gibt die Schlüssel aller von dieser Schriftart unterstützten Attribute zurück. |
getBaselineFor(char c) | Es gibt die für die Anzeige dieses Zeichens geeignete Grundlinie zurück. |
getFamily() | Es gibt den Familiennamen dieser Schriftart zurück. |
getFamily(Locale l) | Es gibt den Familiennamen dieser Schriftart zurück, lokalisiert für das angegebene Gebietsschema. |
getFont(Map-Attribute) | Es gibt eine den Attributen entsprechende Schriftart zurück. |
getFont(String nm) | Es gibt ein Font-Objekt aus der Systemeigenschaftenliste zurück. |
getFont(String nm, Schriftart) | Ruft die angegebene Schriftart aus der Systemeigenschaftenliste ab. |
getFontName() | Es gibt den Namen der Schriftart dieser Schriftart zurück. |
getFontName(Locale l) | Es gibt den Schriftartnamen der Schriftart zurück, lokalisiert für das angegebene Gebietsschema. |
getItalicAngle() | Es gibt den Kursivwinkel dieser Schriftart zurück. |
getLineMetrics(char[] chars, int beginIndex, int limit, FontRenderContext frc) | Es gibt ein LineMetrics-Objekt zurück, das mit den angegebenen Argumenten erstellt wurde. |
getLineMetrics(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc) | Es gibt ein LineMetrics-Objekt zurück, das mit den angegebenen Argumenten erstellt wurde. |
getLineMetrics(String str, FontRenderContext frc) | Es gibt ein LineMetrics-Objekt zurück, das mit dem angegebenen String und FontRenderContext erstellt wurde. |
getLineMetrics(String str, int beginIndex, int limit, FontRenderContext frc) | Es gibt ein LineMetrics-Objekt zurück, das mit den angegebenen Argumenten erstellt wurde. |
getMaxCharBounds(FontRenderContext frc) | Es gibt die Grenzen für das Zeichen mit den maximalen Grenzen zurück, wie im angegebenen FontRenderContext definiert. |
getMissingGlyphCode() | Es gibt den glyphCode zurück, der verwendet wird, wenn diese Schriftart kein Glyph für einen angegebenen Unicode-Codepunkt hat. |
getName() | Es gibt den logischen Namen dieser Schriftart zurück. |
getNumGlyphs() | Es gibt die Anzahl der Glyphen in dieser Schriftart zurück. |
getPeer() | Das Rendern von Schriftarten ist jetzt plattformunabhängig. |
getPSName() | Es gibt den Postscript-Namen dieser Schriftart zurück. |
getSize() | Es gibt die Punktgröße dieser Schriftart zurück, gerundet auf eine ganze Zahl. |
getSize2D() | Es gibt die Punktgröße dieser Schriftart im Float-Wert zurück. |
getStringBounds(char[] chars, int beginIndex, int limit, FontRenderContext frc) | Es gibt die logischen Grenzen des angegebenen Zeichenarrays im angegebenen FontRenderContext zurück. |
getStringBounds(CharacterIterator ci, int beginIndex, int limit, FontRenderContext frc) | Es gibt die logischen Grenzen der im angegebenen CharacterIterator im angegebenen FontRenderContext indizierten Zeichen zurück. |
getStringBounds(String str, FontRenderContext frc) | Es gibt die logischen Grenzen des angegebenen Strings im angegebenen FontRenderContext zurück. |
getStringBounds(String str, int beginIndex, int limit, FontRenderContext frc) | Es gibt die logischen Grenzen des angegebenen Strings im angegebenen FontRenderContext zurück. |
getStyle() | Es gibt den Stil dieser Schriftart zurück. |
getTransform() | Es gibt eine Kopie der dieser Schriftart zugeordneten Transformation zurück. |
Hash-Code() | Es gibt einen Hashcode für diese Schriftart zurück. |
hasLayoutAttributes() | Es gibt „true“ zurück, wenn diese Schriftart Attribute enthält, die eine zusätzliche Layoutverarbeitung erfordern. |
hasUniformLineMetrics() | Es prüft, ob diese Schriftart einheitliche Linienmaße hat oder nicht. |
isBold() | Es gibt an, ob der Stil dieses Font-Objekts BOLD ist oder nicht. |
kursiv() | Es gibt an, ob der Stil dieses Schriftartobjekts kursiv ist oder nicht. |
isPlain() | Es gibt an, ob der Stil dieses Font-Objekts PLAIN ist oder nicht. |
isTransformed() | Es gibt an, ob dieses Font-Objekt zusätzlich zum Size-Attribut über eine Transformation verfügt, die sich auf seine Größe auswirkt. |
layoutGlyphVector(FontRenderContext frc, char[] text, int start, int limit, int flags) | Es gibt ein neues GlyphVector-Objekt zurück und führt, wenn möglich, das vollständige Layout des Textes durch. |
toString() | Es konvertiert dieses Font-Objekt in eine String-Darstellung. |
Sehen wir uns ein Beispiel einer Java-Schriftart an.
JavaFontExample.java
import java.applet.Applet; import java.awt.Font; import java.awt.Graphics; public class JavaFontExample extends Applet { public void paint(Graphics gph) { //creating a constructor of the font class and passing name, style, and size of the font //we can change these three parameters accordingly Font font= new Font('Courier', Font.PLAIN, 20); //setting font by invoking the setFont() method gph.setFont(font); gph.drawString('Javatpoint is the best learning platform.', 12, 45); } }
Um das obige Programm auszuführen, befolgen Sie die folgenden Schritte:
ich. Kopieren Sie den obigen Code, fügen Sie ihn ein und speichern Sie die Datei unter dem Namen JavaFontExample.java.
myflixr
ii. Erstellen Sie eine HTM-Datei und schreiben Sie den folgenden Code.
JavaFontExample.html
iii. Öffnen Sie die Eingabeaufforderung und führen Sie die folgenden Befehle aus:
JavaFontExample.java appletviewer JavaFontExample.java
Ausgabe 1:
Um die folgende Ausgabe zu erhalten, nehmen Sie die Änderungen in der folgenden Anweisung vor:
Font font= new Font('Monospaced', Font.ITALIC, 30); //name, face and size of font is changed
Ausgabe 2: