Statistics
| Revision:

root / trunk / libraries / libFMap / src / com / iver / cit / gvsig / fmap / demo / ImageControl.java @ 213

History | View | Annotate | Download (2.63 KB)

1
package com.iver.cit.gvsig.fmap.demo;
2

    
3
import java.awt.Dimension;
4
import java.awt.Graphics;
5
import java.awt.Graphics2D;
6
import java.awt.event.ComponentEvent;
7
import java.awt.event.ComponentListener;
8
import java.awt.image.BufferedImage;
9
import java.io.File;
10

    
11
import javax.swing.JPanel;
12

    
13
import com.iver.cit.gvsig.fmap.ChildrenNotAllowedException;
14
import com.iver.cit.gvsig.fmap.DriverIOException;
15
import com.iver.cit.gvsig.fmap.FLyrVect;
16
import com.iver.cit.gvsig.fmap.FMap;
17
import com.iver.cit.gvsig.fmap.LayerFactory;
18
import com.iver.cit.gvsig.fmap.LayerPath;
19
import com.iver.cit.gvsig.fmap.ProjectionMismatchException;
20
import com.iver.cit.gvsig.fmap.ViewPort;
21
import com.iver.cit.gvsig.fmap.drivers.shp.DemoSHPDriver;
22

    
23

    
24
/**
25
 * DOCUMENT ME!
26
 *
27
 * @author Fernando Gonz?lez Cort?s
28
 */
29
public class ImageControl extends JPanel implements ComponentListener{
30
        private ViewPort vp = new ViewPort();
31
        private BufferedImage img = null;
32

    
33
        private FMap fmap = new FMap();
34

    
35
        public ImageControl() throws DriverIOException{
36
                DemoSHPDriver driver = new DemoSHPDriver();
37
                FLyrVect l = LayerFactory.createLayer(driver, new File("C:\\Documents and Settings\\fernando\\Mis documentos\\vias.shp"), null);
38
                try {
39
                        fmap.addLayer(new LayerPath(), l);
40
                } catch (ProjectionMismatchException e) {
41
                        e.printStackTrace();
42
                } catch (ChildrenNotAllowedException e) {
43
                        e.printStackTrace();
44
                }
45

    
46
                vp.setExtent(l.getFullExtent());
47

    
48
                addComponentListener(this);
49
        }
50

    
51
        /**
52
         * @see javax.swing.JComponent#paintComponent(java.awt.Graphics)
53
         */
54
        protected void paintComponent(Graphics g) {
55
                g.clearRect(0, 0, getWidth(), getHeight());
56
                if (img != null) {
57
                        g.drawImage(img, 0, 0, null);
58
                }
59
        }
60

    
61
        /**
62
         * DOCUMENT ME!
63
         *
64
         * @param img DOCUMENT ME!
65
         */
66
        public void setImage(BufferedImage img) {
67
                this.img = img;
68
        }
69

    
70
        /**
71
         * @see java.awt.event.ComponentListener#componentHidden(java.awt.event.ComponentEvent)
72
         */
73
        public void componentHidden(ComponentEvent e) {
74
        }
75

    
76
        /**
77
         * @see java.awt.event.ComponentListener#componentMoved(java.awt.event.ComponentEvent)
78
         */
79
        public void componentMoved(ComponentEvent e) {
80
        }
81

    
82
        /**
83
         * @see java.awt.event.ComponentListener#componentResized(java.awt.event.ComponentEvent)
84
         */
85
        public void componentResized(ComponentEvent event) {
86
                img = new BufferedImage(getWidth(), getHeight(), BufferedImage.TYPE_INT_ARGB);
87
                
88
                try{
89
                        vp.setImageSize(new Dimension(this.getWidth(), this.getHeight()));
90

    
91
                        fmap.draw(img, (Graphics2D) img.getGraphics(), vp);
92
                } catch (DriverIOException e1) {
93
                        e1.printStackTrace();
94
                }
95
        }
96

    
97
        /**
98
         * @see java.awt.event.ComponentListener#componentShown(java.awt.event.ComponentEvent)
99
         */
100
        public void componentShown(ComponentEvent e) {
101
        }
102
}