2009-07-30 5 views
3

Ich habe eine String und ich möchte es auf ein Bild malen. Ich bin in der Lage, Punkte zu malen und Linien zu zeichnen, aber auch nach dem Lesen der Text part of the 2D Graphics tutorial kann ich nicht herausfinden, wie ich eine String nehmen und auf meine Zeichnung malen kann.Wie zeichne ich mit den Graphics- oder Graphics2D-Klassen von Java einen String?

Wenn ich nicht das falsche Tutorial ansehe (aber es ist das, das ich bekomme, wenn ich nach irgendetwas über Java suche und Zeichenketten mit Graphics oder Graphics2D male), bin ich immer noch ratlos.

Antwort

8

Überprüfen Sie die folgende Methode.

g.drawString(); 

Die drawString() Methode wird tun, was Sie brauchen.

Ein Beispiel für die Verwendung:

protected void paintComponent(Graphics g){ 
    g.setColor(Color.BLACK); 
    g.drawString(5, 40, "Hello World!"); 
} 

Denken Sie daran, die Koordinaten werden in Bezug auf die unteren linken Ecke des String Sie zeichnen.

+0

Dank. Warum wurde das in dem Tutorial, das ich gelesen habe, nicht erwähnt? Ich habe viel über Fonts gelernt, aber ... –

+0

Keine Ahnung. Es ist eine ziemlich einfache Sache in Swing zu tun. – jjnguy

+0

das ist ein seltsames Tutorial, das nichts zu enthalten scheint: D hier 1.4 javadoc für Graphics2D, es ist ein viel besseres Tutorial als das, das Sie angesehen haben: D http://java.sun.com/j2se/1.4. 2/docs/api/java/awt/Graphics2D.html – guyumu

3

, wenn Sie mit der Form Ihrer Saite spielen möchten (zB: füllen: rot und Hub: blau):

Graphics2D yourGraphicsContext=(...); 
Font f= new Font("Dialog",Font.PLAIN,14); 
FontRenderContext frc = yourGraphicsContext.getFontRenderContext(); 
TextLayout tl = new TextLayout(e.getTextContent(), f, frc); 
Shape shape= tl.getOutline(null); 

//here, you can move your shape with AffineTransform (...) 

yourGraphicsContext.setColor(Color.RED); 
yourGraphicsContext.fill(shape); 
yourGraphicsContext.setColor(Color.BLUE); 
yourGraphicsContext.draw(shape); 
Verwandte Themen