public class Písmo extends Font
Trieda obaľuje triedu Javy Font
. Táto trieda kopíruje
najdôležitejšie vlastnosti pôvodnej triedy. Veľa užitočných informácií
o písmach nájdete pri podrobnostiach konštruktora
Písmo(názov, štýl, veľkosť)
.
Príklad:
Výsledkom kreslenia tohto príkladu sú nápisy napísané rôznymi veľkosťami a rezmi písma z rodiny písiem Arial (pozri zoznam zmien: poďakovanie uvedené pri verzii 1.35):
skočNa
(0
, -200
);for
(int
i =0
; i <10
; ++i) {int
a = (int
)Svet
.náhodnéCeléČíslo
(10
,55
);if
(a <=25
)písmo
(new
Písmo
("Arial"
,Písmo
.OBYČAJNÉ
, a));else if
(a <=40
)písmo
(new
Písmo
("Arial"
,Písmo
.TUČNÉ
, a));else
písmo
(new
Písmo
("Arial"
,Písmo
.TUČNÉ
|Písmo
.KURZÍVA
, a));text
("Zmena písma"
);skoč
(0
,40
); }
Výsledok:
Jeden
z možných výsledkov vykonávania tohto príkladu.
Font
,
SerializovateľnosťModifikátor a typ | Atribút a opis |
---|---|
static int |
KURZIVA
Alias pre
KURZÍVA . |
static int |
KURZÍVA
Konštanta označujúca písmo kurzívy.
|
static int |
NORMALNE
Alias pre
OBYČAJNÉ . |
static int |
NORMÁLNE
Alias pre
OBYČAJNÉ . |
static int |
OBYCAJNE
Alias pre
OBYČAJNÉ . |
static int |
OBYČAJNÉ
Konštanta označujúca obyčajné písmo.
|
static int |
SIKME
Alias pre
KURZÍVA . |
static int |
SILNE
Alias pre
TUČNÉ . |
static int |
SILNÉ
Alias pre
TUČNÉ . |
static int |
ŠIKMÉ
Alias pre
KURZÍVA . |
static int |
TUCNE
Alias pre
TUČNÉ . |
static int |
TUČNÉ
Konštanta označujúca tučné písmo.
|
BOLD, CENTER_BASELINE, DIALOG, DIALOG_INPUT, HANGING_BASELINE, ITALIC, LAYOUT_LEFT_TO_RIGHT, LAYOUT_NO_LIMIT_CONTEXT, LAYOUT_NO_START_CONTEXT, LAYOUT_RIGHT_TO_LEFT, MONOSPACED, name, PLAIN, pointSize, ROMAN_BASELINE, SANS_SERIF, SERIF, size, style, TRUETYPE_FONT, TYPE1_FONT
Konštruktor a opis |
---|
Písmo(Font font)
Vytvorí nové písmo z jestvujúceho objektu typu
Font . |
Písmo(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)
Vytvorí nové písmo s atribútmi určenými v parametri
attributes . |
Písmo(Object... atribúty)
Vytvorí nové písmo podľa zadaných atribútov určujúcich názov, štýl,
veľkosť písma, horný/dolný index, prečiarknutie alebo podčiarknutie.
|
Písmo(String názov,
int štýl,
double veľkosť)
Vytvorí nové písmo s určeným názvom, štýlom a veľkosťou.
|
Modifikátor a typ | Metóda a opis |
---|---|
Pismo |
citajZoSuboru(Súbor súbor)
Alias pre
čítajZoSúboru . |
static Pismo |
citajZoSuboru(Súbor súbor,
Písmo písmo)
Alias pre
čítajZoSúboru . |
Písmo |
čítajZoSúboru(Súbor súbor)
Prečíta záznam o tomto písme zo zadaného konfiguračného súboru
a vráti inštanciu písma, ktorá sa zhoduje so
záznamom v súbore.
|
static Písmo |
čítajZoSúboru(Súbor súbor,
Písmo písmo)
Prečíta záznam o písme zo zadaného konfiguračného súboru a vráti
inštanciu písma vytvorenú podľa záznamu v súbore.
|
boolean |
kurziva()
Alias pre
kurzíva . |
boolean |
kurzíva()
|
String |
nazov()
Alias pre
názov . |
String |
názov()
Vráti názov tohto písma.
|
boolean |
normalne()
Alias pre
obyčajné . |
boolean |
normálne()
Alias pre
obyčajné . |
boolean |
obycajne()
Alias pre
obyčajné . |
boolean |
obyčajné()
|
Pismo |
precitajZoSuboru(Súbor súbor)
Alias pre
čítajZoSúboru . |
static Pismo |
precitajZoSuboru(Súbor súbor,
Písmo písmo)
Alias pre
čítajZoSúboru . |
Písmo |
prečítajZoSúboru(Súbor súbor)
Alias pre
čítajZoSúboru . |
static Písmo |
prečítajZoSúboru(Súbor súbor,
Písmo písmo)
Alias pre
čítajZoSúboru . |
boolean |
sikme()
Alias pre
kurzíva . |
boolean |
silne()
Alias pre
tučné . |
boolean |
silné()
Alias pre
tučné . |
boolean |
šikmé()
Alias pre
kurzíva . |
boolean |
tucne()
Alias pre
tučné . |
boolean |
tučné()
|
void |
ulozDoSuboru(Súbor súbor)
Alias pre
uložDoSúboru . |
static void |
ulozDoSuboru(Súbor súbor,
Písmo písmo)
Alias pre
uložDoSúboru . |
void |
uložDoSúboru(Súbor súbor)
Uloží záznam o tomto písme do zadaného konfiguračného súboru.
|
static void |
uložDoSúboru(Súbor súbor,
Písmo písmo)
Uloží záznam o zadanom písme do zadaného konfiguračného súboru.
|
float |
velkost()
Alias pre
veľkosť . |
float |
veľkosť()
Vráti veľkosť písma v bodoch.
|
canDisplay, canDisplay, canDisplayUpTo, canDisplayUpTo, canDisplayUpTo, createFont, createFont, createGlyphVector, createGlyphVector, createGlyphVector, createGlyphVector, decode, deriveFont, deriveFont, deriveFont, deriveFont, deriveFont, deriveFont, equals, getAttributes, getAvailableAttributes, getBaselineFor, getFamily, getFamily, getFont, getFont, getFont, getFontName, getFontName, getItalicAngle, getLineMetrics, getLineMetrics, getLineMetrics, getLineMetrics, getMaxCharBounds, getMissingGlyphCode, getName, getNumGlyphs, getPeer, getPSName, getSize, getSize2D, getStringBounds, getStringBounds, getStringBounds, getStringBounds, getStyle, getTransform, hashCode, hasLayoutAttributes, hasUniformLineMetrics, isBold, isItalic, isPlain, isTransformed, layoutGlyphVector, toString
public static final int OBYČAJNÉ
Konštanta označujúca obyčajné písmo. Nachádza využitie
v konštruktore prijímajúcom štýl: Písmo(názov, štýl,
veľkosť)
.
public static final int OBYCAJNE
Alias pre OBYČAJNÉ
.
public static final int NORMÁLNE
Alias pre OBYČAJNÉ
.
public static final int NORMALNE
Alias pre OBYČAJNÉ
.
public static final int TUČNÉ
Konštanta označujúca tučné písmo. Môže byť skombinovaná
s kuzívou. Konštanta nachádza využitie
v konštruktore prijímajúcom štýl: Písmo(názov, štýl,
veľkosť)
.
public static final int TUCNE
Alias pre TUČNÉ
.
public static final int SILNÉ
Alias pre TUČNÉ
.
public static final int SILNE
Alias pre TUČNÉ
.
public static final int KURZÍVA
Konštanta označujúca písmo kurzívy. Môže byť skombinovaná
s tučným písmom. Konštanta nachádza využitie
v konštruktore prijímajúcom štýl: Písmo(názov, štýl,
veľkosť)
.
public static final int KURZIVA
Alias pre KURZÍVA
.
public static final int ŠIKMÉ
Alias pre KURZÍVA
.
public static final int SIKME
Alias pre KURZÍVA
.
public Písmo(Font font)
Vytvorí nové písmo z jestvujúceho objektu typu Font
.
font
– objekt Font
, z ktorého má byť vytvorené
nové písmopublic Písmo(Map<? extends AttributedCharacterIterator.Attribute,?> attributes)
Vytvorí nové písmo s atribútmi určenými v parametri attributes
. Ak je tento parameter rovný null
, písmo
bude vytvorené s predvolenými hodnotami.
attributes
– atribúty, ktoré majú byť priradené novému písmu,
alebo null
public Písmo(String názov, int štýl, double veľkosť)
Vytvorí nové písmo s určeným názvom, štýlom a veľkosťou.
Názov písma môže byť (z technického pohľadu) buď názov rodiny
písiem (anlg. font family name; ten je vo svete robota z dôvodu
zjednodušenia považovaný za názov písma),
alebo názov rezu písma (ang. font face name), čo je užšia
špecifikácia (príklad: Helvetica Bold, Arial Italic). Pri
vytváraní písma je názov kombinovaný so štýlom, aby bolo nájdené
vyhovujúce písmo. Ak napríklad zadáme názov písma ako "Arial Bold"
(čo znamená tučné písmo z rodiny písiem Arial)
a za štýl dosadíme Písmo.KURZÍVA
(anglicky
„italic“), systém spravujúci písma vyhľadá písmo v rodine Arial,
ktoré bude aj tučné aj šikmé – "Arial Bold Italic"
.
Názov je so štýlom zlučovaný, nie sčítavnaný, ani odčítavaný. Ak
určíme názov písma "Arial Bold"
a štýl Písmo.TUČNÉ
, nezískame dvojnásobne tučné písmo, ale iba
TUČNÉ, rovnako písmo nebude stenčené ak
určíme názov "Arial Bold"
a štýl Písmo.OBYČAJNÉ
. Názov môže byť aj názov logického písma
v angličtine: Dialog, DialogInput, Monospaced, Serif alebo
SansSerif. Logické názvy[1] určujú všeobecný typ písma –
písmo pre dialógy, vstupné dialógy, s pevnou šírkou znakov,
serifové (pätkové) alebo bezserifové (bezpätkové).
Ak nie je možné nájsť konkrétny rez písma, systém na správu písiem môže algoritmicky písmo vyrobiť. Ak napríklad požadujeme šikmé písmo, ale v stanovenej rodine taký rez nejestvuje, systém môže jednotlivé znaky obyčajného písma zošikmiť. Ak systém písmo nedokáže nájsť vôbec, vytvorí písmo typu Dialog (čiže vytvorí logické písmo).
[1] – termín „logický“ je v počítačovej terminológii často používaný ako opak „fyzického“; logický môže znamenať všeobecný, nekonkrétny, patriaci do určitej množiny, vytvorený na určitý účel… naopak fyzický znamená kokrétny, pevný, stanovený…
názov
– názov písma (názov rezu alebo rodiny písiem) alebo
logického písma; ak zadáme null
systém vytvorí
písmo, ktorému priradí logický názov "Default"
štýl
– konštanta štýlu písma – Písmo.OBYČAJNÉ
, Písmo.TUČNÉ
, Písmo.KURZÍVA
alebo kombinácia Písmo.TUČNÉ
|
Písmo.KURZÍVA
;
pri nesprávne zadanom štýle je vytvorené obyčajné písmoveľkosť
– veľkosť písma v bodoch (hodnota je zaokrúhlená na
typ float
)public Písmo(Object... atribúty)
Vytvorí nové písmo podľa zadaných atribútov určujúcich názov, štýl, veľkosť písma, horný/dolný index, prečiarknutie alebo podčiarknutie.
Tento konštruktor prijíma variabilný počet parametrov rôznych údajových typov. Niektoré parametre figurujú samostatne, iné vo dvojiciach. Konštruktor ich spracúva postupne:
TextAttribute
,
tak vždy prevezme ďalší parameter, ktorý použije ako hodnotu.V druhom prípade musí mať ďalší parameter aj správny údajový
typ, pričom konštruktor dokáže zabezpečiť konverziu reťazcov na
čísla alebo logické hodnoty pre zvolené atribúty
(TextAttribute
). Konkrétne:
WEIGHT
,
WIDTH
,
POSTURE
,
SIZE
,
JUSTIFICATION
,
TRACKING
,
SUPERSCRIPT
,
UNDERLINE
,
BIDI_EMBEDDING
,
INPUT_METHOD_UNDERLINE
,
KERNING
,
LIGATURES
,
STRIKETHROUGH
,
RUN_DIRECTION
a SWAP_COLORS
.
(Úplný zoznam atribútov nájdete v opise triedy
TextAttribute
.)
Nasledujúca tabuľka zhŕňa povolené významy reťazcov pre prvý prípad a očakávané tvary ďalšieho parametra (pričom reťazce v druhej časti nespracúvajú žiadny ďalší parameter, takže ak nasledujúci parameter jestvuje, tak pôsobí opäť samostatne):
Tvar atribútu | Význam atribútu | Očakávané hodnoty |
---|---|---|
"Názov" , "Rodina" , "Name" ,
"FamilyName" , "FaceName" … | Názov rodiny písiem s prípadným určením konkrétneho rezu. | Napríklad: "Default" , "Arial Bold" ,
"Courier New" … |
"Štýl" , "Rez" , "Style" ,
"TypeFace" … | Spresnenie rodiny písiem a určenie prípadných ďalších znakov. | Môže byť kombinácia slov (v jednom reťazci):
prečiarknutý /prečiarknutá /prečiarknuté ,
podčiarknutý /podčiarknutá /podčiarknuté ,
tučný /tučná /tučné ,
silný /silná /silné ,
šikmý /šikmá /šikmé /kurzíva ,
horný /dolný (index ) alebo ich
anglických alternatív, príklady: "Tučná kurzíva" ,
"Šikmý horný index" , "Prečiarknuté tučné" … |
"Veľkosť" , "Size" | Určenie veľkosti písma v bodoch. | Veľkosť písma v bodoch, napríklad: "14" , 24 , 12.5 … |
Tvar atribútu | Význam atribútu | |
"Prečiarknuté" , "Strikethrough" , "Strike" … | Nastaví príznak prečiarknutého písma. | |
"Podčiarknuté" , "Underline" | Nastaví príznak podčiarknutého písma. | |
"Tučné" , "Silné" , "Bold" , "Strong" | Nastaví príznak tučného rezu písma. | |
"Kurzíva" , "Šikmé" ,
"Italic" , "Oblique" | Nastaví príznak rezu kurzívy písma. | |
"Horný index" , "Horné" ,
"Superscript" , "Super" … | Nastaví príznak horného indexu písma. | |
"Dolný index" , "Dolné" ,
"Subscript" , "Sub" … | Nastaví príznak dolného indexu písma. |
Príklady použitia:
Písmo
písmo =new
Písmo
("Názov"
,"Cambria"
,"Veľkosť"
,22
);písmo
(písmo);text
("Text písmom Cambria veľkého 22 bodov."
);
Výsledok vyššieho
príkladu použitia; veľkosť bola spracovaná vo forme celého čísla.
písmo
(new
Písmo
("Názov"
,"Times New Roman"
,"Veľkosť"
,"12"
,"Dolný index"
));text
("Dolný index „Times New Roman,“ 12 bodov."
);
Výsledok vyššieho
príkladu použitia; Veľkosť bola spracovaná vo forme reťazca
a dolný index je uvedený ako samostatný atribút.
Svet
.písmo
(new
Písmo
("Názov"
,"Arial"
,"Štýl"
,"Podčiarknutá kurzíva"
,"Veľkosť"
,22.5
));Svet
.vypíšRiadok
("Konzola podčiarknutou kurzívou Arial 22.5 boda."
);
Výsledok vyššieho
príkladu použitia; Veľkosť bola spracovaná vo forme reálneho
čísla a štýl bol určený hodnotou atribútu, ktorá smie obsahovať
viac príznakov naraz.
Upozornenie: Tento konštruktor je najliberálnejší. Je schopný prijať a spracovať prakticky akékoľvek údaje rozdelené na dostatočne malé jednovýznamové celky. Cenou za to je mierne zvýšenie jeho výpočtovej náročnosti. Odporúčame ho používať buď na jednorazové vytvorenie písma, alebo napríklad na spracovanie „surových“ údajov prijatých z nejakého externého zdroja…
atribúty
– séria atribútov podľa opisupublic float veľkosť()
Vráti veľkosť písma v bodoch. Táto veľkosť zodpovedá približne 1/72 palca.
public float velkost()
Alias pre veľkosť
.
public boolean obyčajné()
public boolean obycajne()
Alias pre obyčajné
.
public boolean normálne()
Alias pre obyčajné
.
public boolean normalne()
Alias pre obyčajné
.
public boolean tučné()
public boolean tucne()
Alias pre tučné
.
public boolean silné()
Alias pre tučné
.
public boolean silne()
Alias pre tučné
.
public boolean kurzíva()
public boolean kurziva()
Alias pre kurzíva
.
public boolean šikmé()
Alias pre kurzíva
.
public boolean sikme()
Alias pre kurzíva
.
public String názov()
Vráti názov tohto písma. Konkrétne ide o názov rodiny písiem (angl. font family name), čo môže byť napríklad Helvetica, Arial, Verdana a podobne.
Poznámka: Ešte rozlišujeme názov rezu písma (angl. font face name), čo môže byť napríklad Arial Bold, Verdana Italic a podobne.
public Písmo čítajZoSúboru(Súbor súbor) throws IOException
Prečíta záznam o tomto písme zo zadaného konfiguračného súboru
a vráti inštanciu písma, ktorá sa zhoduje so
záznamom v súbore. Táto metóda použije aktuálnu inštanciu ako
predvolenú hodnotu a v prípade potreby vytvorí novú inštanciu
písma. Ak je záznam písma v súbore zhodný s týmto písmom, tak
metóda novú inštanciu nevytvára. Namiesto toho vráti hodnotu
tejto (to jest aktuálnej) inštancie (čiže samú seba –
this
). Súbor musí byť otvorený na čítanie.
Metóda je používaná automatickou konfiguráciou sveta.
súbor
– inštancia triedy súbor
otvorená na čítanieIOException
– ak vznikla chyba vo vstupno-výstupnej
operáciiObsluhaUdalostí.konfiguráciaZmenená()
,
Svet.použiKonfiguráciu()
,
Svet.čítajKonfiguráciuSveta()
,
uložDoSúboru(Súbor)
public Pismo citajZoSuboru(Súbor súbor) throws IOException
Alias pre čítajZoSúboru
.
IOException
public Písmo prečítajZoSúboru(Súbor súbor) throws IOException
Alias pre čítajZoSúboru
.
IOException
public Pismo precitajZoSuboru(Súbor súbor) throws IOException
Alias pre čítajZoSúboru
.
IOException
public void uložDoSúboru(Súbor súbor) throws IOException
Uloží záznam o tomto písme do zadaného konfiguračného súboru. Súbor musí byť otvorený na zápis. Metóda je používaná automatickou konfiguráciou sveta.
súbor
– inštancia triedy súbor
otvorená na zápisIOException
– ak vznikla chyba vo vstupno-výstupnej
operáciiObsluhaUdalostí.konfiguráciaZmenená()
,
Svet.použiKonfiguráciu()
,
Svet.čítajKonfiguráciuSveta()
,
čítajZoSúboru(Súbor)
public void ulozDoSuboru(Súbor súbor) throws IOException
Alias pre uložDoSúboru
.
IOException
public static Písmo čítajZoSúboru(Súbor súbor, Písmo písmo) throws IOException
Prečíta záznam o písme zo zadaného konfiguračného súboru a vráti inštanciu písma vytvorenú podľa záznamu v súbore. Druhý argument určuje predvolenú hodnotu. V prípade, že je záznam v súbore zhodný s predvolenou hodnotou, tak táto metóda nevytvorí novú inštanciu, ale vráti inštanciu predvolenej hodnoty. Súbor musí byť otvorený na čítanie.
Metóda je používaná automatickou konfiguráciou sveta.
súbor
– inštancia triedy súbor
otvorená na čítanieIOException
– ak vznikla chyba vo vstupno-výstupnej
operáciiObsluhaUdalostí.konfiguráciaZmenená()
,
Svet.použiKonfiguráciu()
,
Svet.čítajKonfiguráciuSveta()
,
uložDoSúboru(Súbor)
public static Pismo citajZoSuboru(Súbor súbor, Písmo písmo) throws IOException
Alias pre čítajZoSúboru
.
IOException
public static Písmo prečítajZoSúboru(Súbor súbor, Písmo písmo) throws IOException
Alias pre čítajZoSúboru
.
IOException
public static Pismo precitajZoSuboru(Súbor súbor, Písmo písmo) throws IOException
Alias pre čítajZoSúboru
.
IOException
public static void uložDoSúboru(Súbor súbor, Písmo písmo) throws IOException
Uloží záznam o zadanom písme do zadaného konfiguračného súboru. Súbor musí byť otvorený na zápis. Metóda je používaná automatickou konfiguráciou sveta.
súbor
– inštancia triedy súbor
otvorená na zápisIOException
– ak vznikla chyba vo vstupno-výstupnej
operáciiObsluhaUdalostí.konfiguráciaZmenená()
,
Svet.použiKonfiguráciu()
,
Svet.čítajKonfiguráciuSveta()
,
čítajZoSúboru(Súbor)
public static void ulozDoSuboru(Súbor súbor, Písmo písmo) throws IOException
Alias pre uložDoSúboru
.
IOException