[ dragan_bg_88 @ 02.10.2007. 07:52 ] @
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?
[ fimalbonegaculo @ 02.10.2007. 11:30 ] @
Možda pomoću ovoga: http://java.sun.com/j2se/1.5.0/docs/api/java/awt/FontMetrics.html konkretno metode
Code:
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.
[ eXPerience @ 02.10.2007. 12:20 ] @
Sirina stringa za odabrani font ...
Code:

String s = "sdfs sadfad";
int width = getFontMetrics(new Font("Arial", Font.PLAIN, 12)).stringWidth(s);
[ Mali Misha @ 03.09.2008. 09:51 ] @
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.
[ Mali Misha @ 03.09.2008. 17:01 ] @
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.