KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > gnu > kawa > swingviews > SwingPaintable


1 package gnu.kawa.swingviews;
2 import java.awt.*;
3 import java.awt.geom.*;
4 import gnu.kawa.models.*;
5 import javax.swing.*;
6
7 /** Embeds a Paintable object in a JPanel,. */
8
9 public class SwingPaintable extends JPanel
10 {
11   Paintable paintable;
12   Dimension dim;
13
14   public SwingPaintable (Paintable paintable)
15   {
16     this.paintable = paintable;
17
18     Rectangle2D rect = paintable.getBounds2D();
19     int h = (int) Math.ceil(rect.getHeight());
20     int w = (int) Math.ceil(rect.getWidth());
21     dim = new Dimension(w, h);
22   }
23
24   public void paint(Graphics g)
25   {
26     // FIXME may need to transform position
27
paintable.paint((Graphics2D) g);
28   }
29
30   public java.awt.Dimension JavaDoc getPreferredSize ()
31   {
32     return dim;
33   }
34 }
35
Popular Tags