16.11.2013 Aufrufe

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Programmieren</strong> <strong>in</strong> <strong>Java</strong><br />

Lead<strong>in</strong>g (Zeileabstand): Damit ist <strong>de</strong>r Raum zwischen <strong>de</strong>m Descent e<strong>in</strong>es Buchstabens und <strong>de</strong>m<br />

Ascent <strong>de</strong>r nächsten Zeile geme<strong>in</strong>t.<br />

Metho<strong>de</strong>n.<br />

Metho<strong>de</strong> Aktion<br />

str<strong>in</strong>gWidth() Gibt die volle Breite e<strong>in</strong>er Zeichenmkette <strong>in</strong> Pixel aus<br />

charWidth() Gibt die Breite e<strong>in</strong>es bestimmten zeichens aus<br />

getAscent() Gibt die Entfernung zwischen <strong>de</strong>r Grundl<strong>in</strong>ie und <strong>de</strong>r oberen Grenze <strong>de</strong>r Buchstaben<br />

aus<br />

getDescent() Gibt die Entfernung zwischen <strong>de</strong>r Grundl<strong>in</strong>ie und <strong>de</strong>r unteren Grenze <strong>de</strong>r<br />

Buchstaben aus (z.B. p und g)<br />

getLead<strong>in</strong>g() Gibt <strong>de</strong>n Abstand zwischen <strong>de</strong>m Überstand e<strong>in</strong>er Zeile und <strong>de</strong>m Überstand <strong>de</strong>r<br />

nächsten Zeile aus<br />

getHeight() gibt die Gesamthöhe <strong>de</strong>r Schrift aus, d.h. die Summe von Überstand, Unterstand<br />

und Zeilenabstand<br />

Abb.: Fontmetrics-Metho<strong>de</strong>n<br />

Bsp. 244 :<br />

import java.applet.*;<br />

import java.awt.*;<br />

public class AllAnfAppl extends Applet<br />

{<br />

private static f<strong>in</strong>al Str<strong>in</strong>g spruch = "Aller Anfang ist schwer!";<br />

private Font font;<br />

private FontMetrics fontMetrics;<br />

private <strong>in</strong>t spruchBreite;<br />

private <strong>in</strong>t spruchAscent;<br />

private <strong>in</strong>t spruchDescent;<br />

private <strong>in</strong>t spruchX;<br />

private <strong>in</strong>t spruchY;<br />

// Metho<strong>de</strong>n<br />

public void <strong>in</strong>it()<br />

{<br />

setBackground(Color.white);<br />

font = new Font("Helvetica",Font.BOLD,24);<br />

fontMetrics = null;<br />

}<br />

//<br />

public void pa<strong>in</strong>t(Graphics g)<br />

{<br />

// Oval mit Farbe yellow<br />

g.setColor(Color.yellow);<br />

g.fillOval(0,0,getSize().width,getSize().height);<br />

// Roter Rahmen; da <strong>Java</strong> ke<strong>in</strong>e L<strong>in</strong>ienbreite kennt,<br />

// wird die L<strong>in</strong>ienbreite durrch 4 Ovale, (die sich<br />

// um Pixelbreite unterschei<strong>de</strong>n,) simuliert<br />

g.setColor(Color.red);<br />

g.drawOval( 3, 3,getSize().width-6,getSize().height-6);<br />

g.drawOval( 2, 2,getSize().width-4,getSize().height-4);<br />

g.drawOval( 1, 1,getSize().width-2,getSize().height-2);<br />

g.drawOval( 0, 0,getSize().width,getSize().height);<br />

g.setColor(Color.black);<br />

g.setFont(font);<br />

if (fontMetrics == null)<br />

{<br />

fontMetrics = g.getFontMetrics();<br />

spruchBreite = fontMetrics.str<strong>in</strong>gWidth(spruch);<br />

spruchAscent = fontMetrics.getAscent();<br />

spruchDescent = fontMetrics.getDescent();<br />

244 pr41301<br />

269

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!