Pozdrav svima. Potrebno mi je sledece: Posto imam program koji stampa nesto, kako ja da dobijem sirinu neke reci u pixelima, ili sirinu karaktera u pixelima?
Kako dobiti sirinu slova u pixelima
Zaključano
Zakačeno
Možda pomoću ovoga: http://java.sun.com/j2se/1.5.0/docs/api/java/awt/FontMetrics.html konkretno metode
Usput, verovatno želiš da računaš širinu slova m, ono se najšeće uzima kao reper za širinu pojedinog karaktera za određeni font.
Code:
public int charWidth(int codePoint)
public int charWidth(int codePoint)
Usput, verovatno želiš da računaš širinu slova m, ono se najšeće uzima kao reper za širinu pojedinog karaktera za određeni font.
Potpis
"if you fail to plan, you plan to fail"
Sirina stringa za odabrani font ...
Code:
String s = "sdfs sadfad";
int width = getFontMetrics(new Font("Arial", Font.PLAIN, 12)).stringWidth(s);
String s = "sdfs sadfad";
int width = getFontMetrics(new Font("Arial", Font.PLAIN, 12)).stringWidth(s);
Potpis
Dame biraju uvek pogresne tipove ... Na srecu ...
Okej, lako je kad se raspolaže serviranim Graphics objektom. Šta da se radi kad se jednostavno raspolaže:
* imenom fonta,
* tipom (plain, bold, italic, ...),
* veličinom slova, i
* stringom
I traži se njegova dužina.
Prvo sam prčkao sa FontMetrics dok nisam ukapirao da mu je konstruktor protected. Onda sam probao da napravim dete te klase sa javnim konstruktorom i pozovem nasleđeni stringWidth ali jok, to izaziva stack overflow. Potom probah i Graphics da napravim pa da od njega iscedim šta mi treba i tako dođoh do toga da moram aplet da napravim kako bih dobio najobičniju dužinu stringa. Ali ček` malko, to je već previše izvoljevanja od strane infrastrukture. Manje nerviranja je napraviti tabelu sa potrebnim dužinama, skalirati po potrebi i to je to.
E sad... pitanje: kako ovo može mnogo pametnije da se reši tj. kako pristupiti funkcionalitetima stringWidth bez svih ovih okolišanja? Verujem da ima načina.
* imenom fonta,
* tipom (plain, bold, italic, ...),
* veličinom slova, i
* stringom
I traži se njegova dužina.
Prvo sam prčkao sa FontMetrics dok nisam ukapirao da mu je konstruktor protected. Onda sam probao da napravim dete te klase sa javnim konstruktorom i pozovem nasleđeni stringWidth ali jok, to izaziva stack overflow. Potom probah i Graphics da napravim pa da od njega iscedim šta mi treba i tako dođoh do toga da moram aplet da napravim kako bih dobio najobičniju dužinu stringa. Ali ček` malko, to je već previše izvoljevanja od strane infrastrukture. Manje nerviranja je napraviti tabelu sa potrebnim dužinama, skalirati po potrebi i to je to.
E sad... pitanje: kako ovo može mnogo pametnije da se reši tj. kako pristupiti funkcionalitetima stringWidth bez svih ovih okolišanja? Verujem da ima načina.
Potpis
Ipak se ++uje.
O da, i to je rešeno. StyleContext se može napraviti, a on može da da odgovarajući FontMetrics. Ostatak je na autoru.
Potpis
Ipak se ++uje.