Statistics
| Revision:

svn-gvsig-desktop / trunk / libraries / libFMap / src / com / iver / cit / gvsig / fmap / demo / ImageFrame.java @ 1045

History | View | Annotate | Download (6.33 KB)

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

    
3
import java.awt.BasicStroke;
4
import java.awt.Color;
5
import java.io.File;
6

    
7
import javax.swing.JFrame;
8

    
9
import org.cresques.cts.IProjection;
10
import org.cresques.cts.ProjectionPool;
11
import org.geotools.renderer.style.Java2DMark;
12
import org.geotools.renderer.style.MarkStyle2D;
13
import org.geotools.renderer.style.PolygonStyle2D;
14

    
15
import com.hardcode.driverManager.DriverLoadException;
16
import com.iver.cit.gvsig.fmap.DriverException;
17
import com.iver.cit.gvsig.fmap.NewMapControl;
18
import com.iver.cit.gvsig.fmap.drivers.DriverIOException;
19
import com.iver.cit.gvsig.fmap.drivers.shp.DemoSHPDriver;
20
import com.iver.cit.gvsig.fmap.layers.CancelationException;
21
import com.iver.cit.gvsig.fmap.layers.FLayer;
22
import com.iver.cit.gvsig.fmap.layers.LayerFactory;
23
import com.iver.cit.gvsig.fmap.tools.AreaListenerImpl;
24
import com.iver.cit.gvsig.fmap.tools.MeasureListenerImpl;
25
import com.iver.cit.gvsig.fmap.tools.PanListenerImpl;
26
import com.iver.cit.gvsig.fmap.tools.ZoomInListenerImpl;
27
import com.iver.cit.gvsig.fmap.tools.ZoomOutListenerImpl;
28
import com.iver.cit.gvsig.fmap.tools.Behavior.AreaMapTool;
29
import com.iver.cit.gvsig.fmap.tools.Behavior.MeasureMapTool;
30
import com.iver.cit.gvsig.fmap.tools.Behavior.MoveMapTool;
31
import com.iver.cit.gvsig.fmap.tools.Behavior.PointMapTool;
32
import com.iver.cit.gvsig.fmap.tools.Behavior.RectangleMapTool;
33

    
34

    
35
/**
36
 * DOCUMENT ME!
37
 *
38
 * @author Vicente Caballero Navarro
39
 */
40
public class ImageFrame extends JFrame {
41
    private javax.swing.JPanel jContentPane = null;
42
    private NewMapControl jPanel = null;
43
    
44
    final IProjection defaultProj = ProjectionPool.get("ed50utm30");
45
    final String layer1[] = {"Vias", "d:/fjp/chiara/plano/vias.shp", "ed50utm30"};
46
    final String layer2[] = {"Provin", "d:/fjp/chiara/plano/provin.shp", "ed50utm30"};
47
    final String layer3[] = {"Poblac", "d:/fjp/chiara/plano/poblac.shp", "ed50utm30"};
48
    /* final String layer1[] = {"Vias", "D:/cartografia de pruebas/vias.shp", "ed50utm30"};
49
    final String layer2[] = {"Provin", "D:/cartografia de pruebas/provin.shp", "ed50utm30"};
50
    final String layer3[] = {"Poblac", "C:/sercart/grupo sig-ca/cartografia de pruebas/iver/poblac.shp", "ed50utm30"}; */
51

    
52
    /**
53
     * This is the default constructor
54
     */
55
    public ImageFrame() {
56
        super();
57
        initialize();
58
    }
59

    
60
    /**
61
     * This method initializes this
62
     */
63
    private void initialize() {
64
        this.setSize(300, 200);
65
        this.setContentPane(getJContentPane());
66
        this.setTitle("JFrame");
67
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
68
    }
69

    
70
    /**
71
     * This method initializes jContentPane
72
     *
73
     * @return javax.swing.JPanel
74
     */
75
    private javax.swing.JPanel getJContentPane() {
76
        if (jContentPane == null) {
77
            jContentPane = new javax.swing.JPanel();
78
            jContentPane.setLayout(new java.awt.BorderLayout());
79
            jContentPane.add(getJPanel(), java.awt.BorderLayout.CENTER);
80
        }
81

    
82
        return jContentPane;
83
    }
84

    
85
    /**
86
     * This method initializes jPanel
87
     *
88
     * @return javax.swing.JPanel
89
     */
90
    private NewMapControl getJPanel() {
91
        if (jPanel == null) {
92
            try {
93
                jPanel = new NewMapControl();
94

    
95
                                DemoSHPDriver driver = new DemoSHPDriver();
96
                                IProjection proj = defaultProj;
97
                                FLayer l = LayerFactory.createLayer(layer1[0], driver.getName(), new File(layer1[1]), ProjectionPool.get(layer1[2]));
98
                                DemoSHPDriver driver2 = new DemoSHPDriver();
99
                                FLayer l2 = LayerFactory.createLayer(layer2[0], driver2.getName(), new File(layer2[1]), ProjectionPool.get(layer2[2]));
100
                                PolygonStyle2D psd = new PolygonStyle2D();
101
                                psd.setContour(Color.DARK_GRAY);
102
                                psd.setStroke(new BasicStroke(3));
103
                                psd.setFill(Color.LIGHT_GRAY);
104
                                
105
                                DemoSHPDriver driver3 = new DemoSHPDriver();
106

    
107
                        MarkStyle2D pointSym = new MarkStyle2D();
108

    
109
                        pointSym.setShape(Java2DMark.getWellKnownMark(""));
110
                        pointSym.setFill(Color.RED);
111
                        pointSym.setSize(5);
112
                                FLayer l3 = LayerFactory.createLayer(layer3[0], driver3.getName(), new File(layer3[1]), ProjectionPool.get(layer3[2]));
113

    
114
                try {
115
                    jPanel.getMapContext().getLayers().addLayer(l2);
116
                    jPanel.getMapContext().getLayers().addLayer(l3);
117
                    jPanel.getMapContext().getViewPort().setExtent(l3.getFullExtent());
118

    
119
                    int sel = 1;
120

    
121
                    switch (sel) {
122
                        case (0):
123
                                ZoomOutListenerImpl zoli = new ZoomOutListenerImpl(jPanel);
124
                            jPanel.addMapTool("zoomout", new PointMapTool(zoli));
125
                            jPanel.setTool("zoomout");
126

    
127
                            break;
128

    
129
                        case (1):
130
                            PanListenerImpl pli = new PanListenerImpl(jPanel);
131
                            jPanel.setCursor(pli.getCursor());
132
                            jPanel.addMapTool("pan", new MoveMapTool(pli));
133
                            jPanel.setTool("pan");
134

    
135
                            break;
136

    
137
                        case (2):
138

    
139
                            MeasureListenerImpl mli = new MeasureListenerImpl(jPanel);
140
                                jPanel.addMapTool("medicion", new MeasureMapTool(mli));
141
                            jPanel.setCursor(mli.getCursor());
142
                            jPanel.setTool("medicion");
143

    
144
                            break;
145

    
146
                        case (3):
147

    
148
                            AreaListenerImpl ali = new AreaListenerImpl(jPanel);
149
                                jPanel.addMapTool("area", new AreaMapTool(ali));
150
                            jPanel.setCursor(ali.getCursor());
151
                            jPanel.setTool("area");
152

    
153
                            break;
154

    
155
                        case (4):
156
                            ZoomInListenerImpl zili = new ZoomInListenerImpl(jPanel);
157
                                jPanel.addMapTool("rectangle",
158
                                new RectangleMapTool(zili));
159
                            jPanel.setCursor(zili.getCursor());
160
                            jPanel.setTool("rectangle");
161

    
162
                            break;
163
                    }
164
                } catch (CancelationException e) {
165
                                        // TODO Auto-generated catch block
166
                                        e.printStackTrace();
167
                                }
168
            } catch (DriverException e) {
169
                e.printStackTrace();
170
                        }
171
        }
172

    
173
        return jPanel;
174
    }
175
}