politicalarea.java
来自「OpenMap是一个基于JavaBeansTM的开发工具包。利用OpenMap你」· Java 代码 · 共 218 行
JAVA
218 行
// **********************************************************************// // <copyright>// // BBN Technologies// 10 Moulton Street// Cambridge, MA 02138// (617) 873-8000// // Copyright (C) BBNT Solutions LLC. All rights reserved.// // </copyright>// **********************************************************************// // $Source: /cvs/distapps/openmap/src/openmap/com/bbn/openmap/layer/shape/areas/PoliticalArea.java,v $// $RCSfile: PoliticalArea.java,v $// $Revision: 1.2.2.2 $// $Date: 2006/08/24 20:56:34 $// $Author: dietrick $// // **********************************************************************package com.bbn.openmap.layer.shape.areas;import java.awt.Paint;import java.awt.Rectangle;import java.awt.TexturePaint;import java.awt.image.BufferedImage;import java.net.URL;import com.bbn.openmap.image.BufferedImageHelper;import com.bbn.openmap.omGraphics.DrawingAttributes;import com.bbn.openmap.omGraphics.OMGeometry;import com.bbn.openmap.omGraphics.OMGeometryList;import com.bbn.openmap.omGraphics.OMGraphic;import com.bbn.openmap.util.Debug;/** * A PoliticalArea is a region that has a name (like "Oklahoma"), an identifier * (like "OK"), and a list of OMGraphics that define its geography (ie: the * polygons that define it's borders). * <P> * NOTE: The name of this class is somewhat misleading - the graphic doesn't * have to represent an area - the graphic can be any graphic created from the * shapefile. This class just provides a way to associate an id with the * graphic. */public class PoliticalArea { public final String id; public String name = null; protected OMGeometryList geometry; protected DrawingAttributes drawingAttributes = DrawingAttributes.getDefaultClone(); public PoliticalArea(String identifier) { this(null, identifier); } /** * Create a political area with a name, and an identifier which is used as a * key by the AreaHandler. */ public PoliticalArea(String name, String identifier) { this.id = identifier; this.name = name; geometry = new OMGeometryList(); } public void setDrawingAttributes(DrawingAttributes da) { drawingAttributes = da; da.setTo(geometry); } public DrawingAttributes getDrawingAttributes() { return drawingAttributes; } /** * Set the fill-paint of all the graphics in the List * * @param c java.awt.Paint */ public void setFillPaint(Paint c) { drawingAttributes.setFillPaint(c); drawingAttributes.setTo(geometry); } /** * Get the paint used for the fill paint for all the graphics in the * political area, if one was set. * * @return Paint if set, null if it wasn't. */ public Paint getFillPaint() { return drawingAttributes.getFillPaint(); } /** * Set the fill pattern of all the graphics in the List. This will override * the fill paint, if you've set that as well. There are sections of code in * this method that need to be commented out if you are not using jdk 1.2.x. * * @param fillPatternURL url of image file to use as fill. */ public void setFillPattern(URL fillPatternURL) { // This is kind of tricky. Look at the list, find out which // members are OMGraphic2D objects, and set the Paint for // those graphics. TexturePaint texture = null; try { if (fillPatternURL != null) { BufferedImage bi = BufferedImageHelper.getBufferedImage(fillPatternURL, 0, 0, -1, -1); texture = new TexturePaint(bi, new Rectangle(0, 0, bi.getWidth(), bi.getHeight())); } } catch (InterruptedException ie) { Debug.error("PoliticalArea.setFillPattern(): error getting texture image - \n" + ie); } setFillPattern(texture); } /** * Set the fill pattern of all the graphics in the List. This will override * the fill paint, if you've set that as well. There are sections of code in * this method that need to be commented out if you are not using jdk 1.2.x. * * @param texture TexturePaint object to use as fill. */ public void setFillPattern(TexturePaint texture) { drawingAttributes.setFillPaint(texture); drawingAttributes.setTo(geometry); } /** * Get the TexturePaint used as fill for all the graphics in the political * area, if one was set. * * @return TexturePaint if set, null if it wasn't. */ public TexturePaint getFillPattern() { return drawingAttributes.getFillPattern(); } /** * Set the line-paint of all the graphics in the List * * @param c java.awt.Paint */ public void setLinePaint(Paint c) { drawingAttributes.setLinePaint(c); drawingAttributes.setTo(geometry); } /** * Get the paint used for the line paint for all the graphics in the * political area, if one was set. * * @return Paint if set, null if it wasn't. */ public Paint getLinePaint() { return drawingAttributes.getLinePaint(); } /** * Set the select-paint of all the graphics in the List * * @param c java.awt.Paint */ public void setSelectPaint(Paint c) { drawingAttributes.setSelectPaint(c); drawingAttributes.setTo(geometry); } /** * Get the paint used for the select paint for all the graphics in the * political area, if one was set. * * @return Paint if set, null if it wasn't. */ public Paint getSelectPaint() { return drawingAttributes.getSelectPaint(); } /** * Get the value of geometry. * * @return Value of geometry. */ public OMGeometryList getGeometry() { return geometry; } /** * Set the value of geometry. * * @param v Value to assign to geometry. */ public void setGeometry(OMGeometryList v) { this.geometry = v; drawingAttributes.setTo(v); } /** * Add a new omgraphic to the list of graphics in this area */ public void addGraphic(OMGraphic g) { this.geometry.add((OMGeometry) g); drawingAttributes.setTo(g); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?