KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > nightlabs > editor2d > figures > TextFigure


1 /**
2  * <p> Project: com.nightlabs.editor2d </p>
3  * <p> Copyright: Copyright (c) 2004 </p>
4  * <p> Company: NightLabs GmbH (Germany) </p>
5  * <p> Creation Date: 15.03.2005 </p>
6  * <p> Author: Daniel Mazurek </p>
7 **/

8 package com.nightlabs.editor2d.figures;
9
10 import java.awt.Font JavaDoc;
11 import java.awt.font.FontRenderContext JavaDoc;
12 import java.awt.font.TextLayout JavaDoc;
13
14 import com.nightlabs.editor2d.j2d.GeneralShape;
15
16 public class TextFigure
17 extends AbstractShapeFigure
18 {
19   public TextFigure()
20   {
21     super();
22   }
23
24 // public boolean containsPoint(int x, int y)
25
// {
26
// return super.containsPoint(x, y);
27
// }
28

29 // protected void fillShape(Graphics graphics)
30
// {
31
// if (graphics instanceof J2DGraphics)
32
// {
33
// j2d = (J2DGraphics) graphics;
34
// g2d = j2d.createGraphics2D();
35
// g2d.setClip(null);
36
// g2d.setPaint(J2DUtil.toAWTColor(getBackgroundColor()));
37
// g2d.fill(getGeneralShape());
38
// g2d.dispose();
39
// }
40
// }
41

42 // protected void outlineShape(Graphics graphics)
43
// {
44
// if (graphics instanceof J2DGraphics)
45
// {
46
// j2d = (J2DGraphics) graphics;
47
// Graphics2D g2d = j2d.createGraphics2D();
48
// fontRenderContext = g2d.getFontRenderContext();
49
// textLayout.draw(g2d, getLocation().x, getLocation().y);
50
// }
51
// }
52

53   protected FontRenderContext JavaDoc fontRenderContext;
54   public FontRenderContext JavaDoc getFontRenderContext()
55   {
56     if (fontRenderContext == null)
57       fontRenderContext = new FontRenderContext JavaDoc(null, false, false);
58     
59     return fontRenderContext;
60   }
61  
62   protected TextLayout JavaDoc textLayout;
63   protected void setTextlayout(String JavaDoc text, Font JavaDoc font)
64   {
65     at.setToIdentity();
66     this.textLayout = new TextLayout JavaDoc(text, font, getFontRenderContext());
67     setGeneralShape(new GeneralShape(textLayout.getOutline(at)));
68   }
69     
70   protected String JavaDoc text = "text";
71   public void setText(String JavaDoc text)
72   {
73     this.text = text;
74     setTextlayout(text, font);
75   }
76   
77   protected Font JavaDoc font;
78   public void setAWTFont(Font JavaDoc font) {
79     
80     this.font = font;
81     setTextlayout(text, font);
82   }
83
84 }
85
Popular Tags