1 4 package demo.sharededitor.ui; 5 6 import java.awt.Color ; 7 import java.awt.Graphics ; 8 import java.awt.Graphics2D ; 9 import java.awt.Shape ; 10 import java.awt.geom.Rectangle2D ; 11 12 import javax.swing.JComponent ; 13 14 import demo.sharededitor.events.IListListener; 15 import demo.sharededitor.models.BaseObject; 16 import demo.sharededitor.models.ObjectManager; 17 18 public final class Renderer 19 extends JComponent 20 implements IListListener 21 { 22 public static final long serialVersionUID = 0; 23 24 public Renderer() 25 { 26 objmgr = null; 27 } 28 29 private ObjectManager objmgr; 30 31 public void changed(Object source, Object obj) 32 { 33 this.objmgr = (ObjectManager)source; 34 this.repaint(); 35 } 36 37 public void paint(Graphics g) 38 { 39 super.paint(g); 40 Graphics2D g2 = (Graphics2D )g.create(); 41 g2.setBackground(Color.WHITE); 42 g2.clearRect(0, 0, getSize().width, getSize().height); 43 44 if (objmgr == null) 45 return; 46 47 BaseObject[] objList = objmgr.list(); 48 for(int i=0; i<objList.length; i++) 49 { 50 BaseObject obj = objList[i]; 51 obj.draw(g2, objmgr.isGrabbed(obj)); 52 } 53 54 Shape border = new Rectangle2D.Double (0, 0, getWidth() - 1, getHeight() - 1); 55 g2.setColor(Color.DARK_GRAY); 56 g2.draw(border); 57 } 58 } 59 | Popular Tags |