Advertisement
Guest User

Untitled

a guest
Dec 4th, 2012
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.94 KB | None | 0 0
  1.  
  2. import java.awt.Color;
  3. import java.awt.Graphics;
  4. import java.awt.Graphics2D;
  5. import java.awt.RenderingHints;
  6. import java.awt.geom.Point2D;
  7. import java.awt.image.BufferedImage;
  8. import java.util.List;
  9. import java.util.Set;
  10.  
  11.  
  12. import org.geotools.data.simple.SimpleFeatureSource;
  13. import org.geotools.map.FeatureLayer;
  14. import org.geotools.map.Layer;
  15. import org.geotools.renderer.GTRenderer;
  16. import org.geotools.renderer.lite.StreamingRenderer;
  17. import org.geotools.styling.Style;
  18. import org.geotools.swing.JMapPane;
  19. import org.geotools.swing.RenderingExecutorEvent;
  20. import org.opengis.filter.identity.FeatureId;
  21.  
  22. import br.com.ftp.agricultura.util.EstilosUtil;
  23.  
  24.  
  25. public class MapPanel extends JMapPane{
  26.    
  27.     Point2D pointCursor = null;
  28.    
  29.     public MapPanel(){
  30.         super();
  31.        
  32.         this.setDoubleBuffered(true);
  33.         GTRenderer draw = new StreamingRenderer();
  34.         draw.setMapContent(this.getMapContent());
  35.         this.setRenderer( draw );
  36.     }
  37.    
  38.     @Override
  39.     protected void paintComponent(Graphics g){
  40.    
  41.         super.paintComponent(g);
  42.          Graphics2D graphics2D = (Graphics2D) g;
  43.            //Set  anti-alias!
  44.         graphics2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
  45.                 RenderingHints.VALUE_ANTIALIAS_ON);
  46.  
  47.        // Set anti-alias for text
  48.         graphics2D.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
  49.                 RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
  50.  
  51.        
  52.         drawCursor(pointCursor, g);
  53.        
  54.         repaint();
  55.     }
  56.  
  57.     private void drawCursor(Point2D pointCursor, Graphics g){
  58.         if(pointCursor!=null){
  59.             g.setColor(Color.RED);
  60.             g.drawOval((int)pointCursor.getX()-5, (int)pointCursor.getY()-5, 10, 10);
  61.             g.drawLine((int)pointCursor.getX(), (int)pointCursor.getY(), (int)pointCursor.getX(), (int)pointCursor.getY()-40);
  62.             g.drawLine((int)pointCursor.getX(), (int)pointCursor.getY(), (int)pointCursor.getX(), (int)pointCursor.getY()+40);
  63.             g.drawLine((int)pointCursor.getX(), (int)pointCursor.getY(), (int)pointCursor.getX()-40, (int)pointCursor.getY());
  64.             g.drawLine((int)pointCursor.getX(), (int)pointCursor.getY(), (int)pointCursor.getX()+40, (int)pointCursor.getY());
  65.         }
  66.        
  67.     }
  68.     public void setCursor(Point2D pointCursor){
  69.         this.pointCursor = pointCursor;
  70.     }
  71.     public void setCursor(int x, int y){
  72.         if(this.pointCursor==null){
  73.             this.pointCursor = new Point2D.Double();
  74.         }
  75.         this.pointCursor.setLocation(x, y);
  76.     }
  77.     /**
  78.      * Sets the display to paint selected features yellow and unselected
  79.      * features in the default style.
  80.      *
  81.      * @param IDs
  82.      *            identifiers of currently selected features
  83.      */
  84.     public void displaySelectedFeatures(Layer layer, Set<FeatureId> IDs) {
  85.         Style style;
  86.  
  87.         if (IDs.isEmpty()) {
  88.             style = EstilosUtil.createDefaultStyle(layer);
  89.  
  90.         } else {
  91.             style = EstilosUtil.createSelectedStyle(layer, IDs);
  92.         }
  93.         ((FeatureLayer) layer).setStyle(style);
  94.         this.repaint(1000);
  95.     }
  96.     public Layer getLayer(String name){
  97.         List<Layer> layers = getMapContent().layers();
  98.         for (Layer layer : layers) {
  99.             if(layer.getTitle().equalsIgnoreCase(name)){
  100.                 return layer;
  101.             }
  102.         }
  103.         return null;
  104.     }
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement