Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.RenderingHints;
- import java.awt.geom.Point2D;
- import java.awt.image.BufferedImage;
- import java.util.List;
- import java.util.Set;
- import org.geotools.data.simple.SimpleFeatureSource;
- import org.geotools.map.FeatureLayer;
- import org.geotools.map.Layer;
- import org.geotools.renderer.GTRenderer;
- import org.geotools.renderer.lite.StreamingRenderer;
- import org.geotools.styling.Style;
- import org.geotools.swing.JMapPane;
- import org.geotools.swing.RenderingExecutorEvent;
- import org.opengis.filter.identity.FeatureId;
- import br.com.ftp.agricultura.util.EstilosUtil;
- public class MapPanel extends JMapPane{
- Point2D pointCursor = null;
- public MapPanel(){
- super();
- this.setDoubleBuffered(true);
- GTRenderer draw = new StreamingRenderer();
- draw.setMapContent(this.getMapContent());
- this.setRenderer( draw );
- }
- @Override
- protected void paintComponent(Graphics g){
- super.paintComponent(g);
- Graphics2D graphics2D = (Graphics2D) g;
- //Set anti-alias!
- graphics2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
- RenderingHints.VALUE_ANTIALIAS_ON);
- // Set anti-alias for text
- graphics2D.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
- RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
- drawCursor(pointCursor, g);
- repaint();
- }
- private void drawCursor(Point2D pointCursor, Graphics g){
- if(pointCursor!=null){
- g.setColor(Color.RED);
- g.drawOval((int)pointCursor.getX()-5, (int)pointCursor.getY()-5, 10, 10);
- g.drawLine((int)pointCursor.getX(), (int)pointCursor.getY(), (int)pointCursor.getX(), (int)pointCursor.getY()-40);
- g.drawLine((int)pointCursor.getX(), (int)pointCursor.getY(), (int)pointCursor.getX(), (int)pointCursor.getY()+40);
- g.drawLine((int)pointCursor.getX(), (int)pointCursor.getY(), (int)pointCursor.getX()-40, (int)pointCursor.getY());
- g.drawLine((int)pointCursor.getX(), (int)pointCursor.getY(), (int)pointCursor.getX()+40, (int)pointCursor.getY());
- }
- }
- public void setCursor(Point2D pointCursor){
- this.pointCursor = pointCursor;
- }
- public void setCursor(int x, int y){
- if(this.pointCursor==null){
- this.pointCursor = new Point2D.Double();
- }
- this.pointCursor.setLocation(x, y);
- }
- /**
- * Sets the display to paint selected features yellow and unselected
- * features in the default style.
- *
- * @param IDs
- * identifiers of currently selected features
- */
- public void displaySelectedFeatures(Layer layer, Set<FeatureId> IDs) {
- Style style;
- if (IDs.isEmpty()) {
- style = EstilosUtil.createDefaultStyle(layer);
- } else {
- style = EstilosUtil.createSelectedStyle(layer, IDs);
- }
- ((FeatureLayer) layer).setStyle(style);
- this.repaint(1000);
- }
- public Layer getLayer(String name){
- List<Layer> layers = getMapContent().layers();
- for (Layer layer : layers) {
- if(layer.getTitle().equalsIgnoreCase(name)){
- return layer;
- }
- }
- return null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement