edit · history · print

My little gvSIG

This is an example to create a little gvSIG.


package demoGUI;

import java.awt.BorderLayout;
import java.awt.Color;

import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.UIManager;



import com.iver.andami.messages.Messages;

import com.iver.cit.gvsig.fmap.MapControl;
import com.iver.cit.gvsig.gui.IView;
import com.iver.cit.gvsig.gui.MapOverview;
import com.iver.cit.gvsig.gui.dialogs.FInfoDialog;
import com.iver.cit.gvsig.gui.toc.TOC;

import java.awt.Dimension;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.awt.image.ImageObserver;
import java.util.Locale;

public class LittlegvSIG extends JFrame implements IView, WindowListener {

        public static ImageObserver m_ImageObserver = null;
        private static final long serialVersionUID = 1L;

        private JPanel panelvista = null//  @jve:decl-index=0:visual-constraint="160,10"

        public MapControl mapControl;
        public FInfoDialog dlgInfo;     
        private TOC toc;
        private MapOverview mapOverview;
        JSplitPane mainSplit;
        JSplitPane splitToc;

        /**
         * This is the default constructor
         */

        public LittlegvSIG() {
                super();
                m_ImageObserver = this;


                initialize();

                addWindowListener((WindowListener) this);
                 dlgInfo = new FInfoDialog();
        }

        /**
         * This method initializes this
         *
         * @return void
         */

        private void initialize() {
                this.setSize(576, 389);


                addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                exitForm(evt);
            }
        });

                //Create GIS component
                mapControl = new MapControl();
                mapControl.getMapContext().getViewPort()
                .setBackColor(new Color(220,220,255));


                 //Cette partie est indispensable pour ne pas avoir une erreur sur
                //le curseur de la souris.
                //Il faut ajouter la fonction zoom.

                StatusBarListener sbl = new StatusBarListener(mapControl);

                ZoomInListener zil = new ZoomInListener(mapControl);
                ZoomOutRightButtonListener zoil = new ZoomOutRightButtonListener(mapControl);



                mapControl.addMapTool("zoomIn", new Behavior[]{new RectangleBehavior(zil),
                             new PointBehavior(zoil), new MouseMovementBehavior(sbl)});

                mapControl.setTool("zoomIn");


                //Table Of Contents
                toc = new TOC();
                toc.setMapContext(mapControl.getMapContext());
                toc.setVisible(true);

                mapOverview = new MapOverview(mapControl);
                mapOverview.setPreferredSize(new Dimension(150,200));


                this.setContentPane(getJContentPane());

                this.setTitle("My little gvSIG");
        }

        /**
         * This method initializes jContentPane
         *
         * @return javax.swing.JPanel
         */

        private JPanel getJContentPane() {
                if (panelvista == null) {
                        panelvista = new JPanel();
                        panelvista.setLayout(new BorderLayout());
                        panelvista.setSize(new Dimension(446, 265));
                        panelvista.add(getMainSplit(), BorderLayout.CENTER);
                }
                return panelvista;
        }

        private JSplitPane getMainSplit() {
                if (mainSplit == null) {
                        mainSplit = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);       
                        mainSplit.setLeftComponent(getSplitToc());                 
                        mainSplit.setRightComponent(mapControl);               
                }
                return mainSplit;
        }

        private JSplitPane getSplitToc() {
                if (splitToc == null) {
                        splitToc = new JSplitPane(JSplitPane.VERTICAL_SPLIT);   
                        splitToc.setTopComponent(toc);
                        splitToc.setBottomComponent(mapOverview);
                        splitToc.setResizeWeight(0.7);

                }
                return splitToc;
        }


        public MapControl getMapControl() {

                return mapControl;
        }

        public TOC getTOC() {
                // TODO Auto-generated method stub
                return toc;
        }

        public void windowActivated(WindowEvent arg0) {
                // TODO Auto-generated method stub

        }

        public void windowClosed(WindowEvent arg0) {
                // TODO Auto-generated method stub

        }

        public void windowClosing(WindowEvent arg0) {
                // TODO Auto-generated method stub

        }

        public void windowDeactivated(WindowEvent arg0) {
                // TODO Auto-generated method stub

        }

        public void windowDeiconified(WindowEvent arg0) {
                // TODO Auto-generated method stub

        }

        public void windowIconified(WindowEvent arg0) {
                // TODO Auto-generated method stub

        }

        public void windowOpened(WindowEvent arg0) {
                // TODO Auto-generated method stub

        }

        public MapControl getMapOverview()
        {
                return mapOverview;
        }

        /** Exit the Application */
    private void exitForm(java.awt.event.WindowEvent evt) {
        System.exit(0);
    }

    public void repaintMap() {
                mapControl.drawMap(false);
                repaint();

        }



    public static void main(String[] args) {
                try {
                        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());           
                } catch (Exception e) {
                        System.out.println(UIManager.getCrossPlatformLookAndFeelClassName());
                }
                //PropertyConfigurator.configure(SingleView.class.getClassLoader()
                                                                                                        //       .getResource("log4j.properties"));

                Locale loc = null;

                if (args.length == 0) {
                        loc = Locale.getDefault();
                } else {
                        loc = new Locale(args[0]);
                }

                Messages.init(loc);


                LittlegvSIG testApp = new LittlegvSIG();

        // testApp.getContentPane().add(elMapa);
        testApp.show();

    }

} 



 
edit · history · print
Page last modified on 11 novembre 2006 à 19h23