⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tomap.java

📁 基于Java的地图数据管理软件。使用MySQL数据库管理系统。
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        }

        g.setColor(Color.BLACK);
        this.drawTracksPoint(xTemp, yTemp, g);
        if(drawBegin == true){
          g.setColor(Color.BLUE);
          this.drawTracksPointLine(lastX,lastY,xTemp,yTemp,g);
        }
        drawBegin = true;
        lastX = xTemp;
        lastY = yTemp;
      }
      this.drawTrackLine =true;
    }
  }
  /**
   * 加颜色
   */
  public void drawTrackLine(Graphics g, Node trackNode,Color color) {
      //这里单独绘制一条航迹,如果要画多条,继续调用此方法就行

    NodeList nl;
    boolean drawBegin = false;
    String xTemp = "0.0", yTemp = "0.0",lastX = "0.0", lastY = "0.0";
    if (trackNode != null) {
      nl = ItemValue.getTracksPoint(trackNode);
      for (int j = 0; j < nl.getLength(); j++) {
        xTemp = ItemValue.getTracksPointX(nl.item(j));
        yTemp = ItemValue.getTracksPointY(nl.item(j));
        if(j == ((int)nl.getLength()/2)){
          this.drawTrackName(xTemp,yTemp,ItemValue.getTracksName(trackNode)+ "[" + ItemValue.getTracks_ld_original_number(trackNode)+"]",g);
        }

        g.setColor(Color.BLACK);
        this.drawTracksPoint(xTemp, yTemp, g);
        if(drawBegin == true){
          g.setColor(color);
          this.drawTracksPointLine(lastX,lastY,xTemp,yTemp,g);
        }
        drawBegin = true;
        lastX = xTemp;
        lastY = yTemp;
      }
      this.drawTrackLine =true;
    }
  }

  private void drawTrackName(String x,String y,String name,Graphics g){
    g.setColor(Color.LIGHT_GRAY);
    double xt1 = (Double.parseDouble(x)-x2);
    double yt1 = (y1-Math.abs(Double.parseDouble(y)));
    xt1 = xt1*scale;
    yt1 = yt1*scale;
    int x1 = Integer.parseInt((new Double(xt1)).longValue()+"");
    int y1 = Integer.parseInt((new Double(yt1)).longValue()+"");
    g.drawString(name,x1+h+8,y1+w+8);
  }
  public void drawTaddedTrackLine(Graphics g, Node trackNode) {
      //这里单独绘制一条航迹,如果要画多条,继续调用此方法就行
      NodeList nl;
     boolean drawBegin = false;
     String xTemp = "0.0", yTemp = "0.0",lastX = "0.0", lastY = "0.0";
     if (trackNode != null) {
       nl = ItemValue.getTracksPoint(trackNode);
       for (int j = 0; j < nl.getLength(); j++) {

         xTemp = ItemValue.getTracksPointX(nl.item(j));
         yTemp = ItemValue.getTracksPointY(nl.item(j));
         g.setColor(Color.RED);
         this.drawTracksPoint(xTemp, yTemp, g);
         if(drawBegin == true){
           g.setColor(Color.RED);
           this.drawTracksPointLine(lastX,lastY,xTemp,yTemp,g);
         }
         drawBegin = true;
         lastX = xTemp;
         lastY = yTemp;
       }
       this.drawTrackLine =true;
     }

  }

  public void drawTrackBEPoint(Graphics g, Node trackNode,boolean begin) {
    g.setColor(Color.BLUE);
    NodeList nl = null;
    String xTemp = "0.0", yTemp = "0.0";
    if (trackNode != null) {
      nl = ItemValue.getTracksPoint(trackNode);
      if(nl == null){
        return;
      }
      if(begin == true){
        xTemp = ItemValue.getTracksPointX(nl.item(0));
        yTemp = ItemValue.getTracksPointY(nl.item(0));
        this.drawTracksBEPoint(xTemp, yTemp, g,begin);
      }else{
        xTemp = ItemValue.getTracksPointX(nl.item(nl.getLength()-1));
        yTemp = ItemValue.getTracksPointY(nl.item(nl.getLength()-1));
        this.drawTracksBEPoint(xTemp, yTemp, g,begin);
      }
      //System.out.println(begin?"开始":"结束");
    }
  }

  public void drawWaypoint(Graphics g){
    Node[] allwpt = ItemValue.getWaypoint();
        NodeList nl;
        String xTemp ="0.0",yTemp="0.0",text="";
        if(allwpt != null){
          for (int i = 0; i < allwpt.length; i++) {
            xTemp = ItemValue.getWaypointX(allwpt[i]);
            yTemp = ItemValue.getWaypointY(allwpt[i]);
            text = ItemValue.getWaypointName(allwpt[i]);
            this.drawWaypointPoint(xTemp,yTemp,text,g,"");
          }
        }
  }
  public void drawWaypoint(Graphics g,Node node,String id){
    String xTemp = "0.0", yTemp = "0.0";
    xTemp = ItemValue.getWaypointX(node);
    yTemp = ItemValue.getWaypointY(node);
    if(id.equals("")){
      this.drawWaypointPoint(xTemp, yTemp, ItemValue.getWaypointName(node), g,ItemValue.getWaypointKP(node));
    }else{
      this.drawWaypointPoint(xTemp, yTemp, ItemValue.getWaypointName(node) + "["+id+"]",
                             g,ItemValue.getWaypointKP(node));
    }
  }

  private void drawWaypointPoint(String xtemp,String ytemp,String text,Graphics g,String type){
    drawWaypoint = true;
    double xt = (Double.parseDouble(xtemp)-x2);
    double yt = (y1-Math.abs(Double.parseDouble(ytemp)));
    xt = xt*scale;
    yt = yt*scale;
    int x = Integer.parseInt((new Double(xt)).longValue()+"");
    int y = Integer.parseInt((new Double(yt)).longValue()+"");
    //g.setColor(Color.GREEN);
    //画点
    //System.out.println("画点"+"g.drawOval("+(x+h-3)+","+(y+w-3)+",6,6)");
    if(type.equals(WptType.W1XingZhengCun)){
      g.setColor(Color.RED);
      //g.drawOval(x+h-4,y+w-4,8,8);
      //g.fillOval(x+h-2,y+w-2,4,4);
      g.drawString(WptType.W1,x+h-8,y+w+4);
    }else if(type.equals(WptType.W2ZiRanCun)){
      g.setColor(Color.RED);
      g.drawString(WptType.W2,x+h-8,y+w+4);
    }else if(type.equals(WptType.W12_xiangzhen)){
      g.setColor(Color.RED);
      g.drawString(WptType.W12,x+h-8,y+w+4);
    }
    else if(type.equals(WptType.W3QiaoLiang)){
      g.setColor(Color.BLUE);
      g.drawString(WptType.W3,x+h-8,y+w+4);
    }else if(type.equals(WptType.W5HanDong)){
      g.setColor(Color.BLUE);
      g.drawString(WptType.W5,x+h-8,y+w+4);
    }else if(type.equals(WptType.W6DuKou)){
      g.setColor(Color.BLUE);
      g.drawString(WptType.W6,x+h-8,y+w+4);
    }else if(type.equals(WptType.W7JiaoHui)){
      g.setColor(Color.BLACK);
      g.drawString(WptType.W7,x+h-8,y+w+4);
    }else{
      g.setColor(Color.GRAY);
      g.drawOval(x+h-3,y+w-3,6,6);
      g.fillOval(x + h - 3, y + w - 3, 6, 6);
    }
    //System.out.println("drawWaypointPoint:x="+x+",h="+h+",x+h="+(x+h)+",y="+y+",w="+w+",y+w="+(y+w));
    if(!text.equals("")){
      g.setColor(Color.BLACK);
      g.drawString(text, x + h + 4, y + w + 4);
    }
    //g.fillOval(y+widthMove,x+heightMove,size,size);
  }
  public void drawAllWaypoints(Graphics g,Node[] allwpt){
    if (allwpt != null) {
      for(int i =0;i<allwpt.length;i++){
        this.drawWaypoint(g,allwpt[i],((i+1)+""));
      }
    }
  }
  public void drawCenter(Graphics g,int panelWidth,int panelHeight){
    g.setColor(Color.GREEN);
    g.drawString("Center",panelWidth/2,panelHeight/2);
  }
  public void findWpt(int panelWidth,int panelHeight,Node node){
    //System.out.println("定位");
    if(node==null){
      System.out.println("node is null.");
      return;
    }
    String xTemp = "0.0", yTemp = "0.0";
    xTemp = ItemValue.getWaypointX(node);
    yTemp = ItemValue.getWaypointY(node);
    double xt = (Double.parseDouble(xTemp)-x2);
    double yt = (y1-Math.abs(Double.parseDouble(yTemp)));
    xt = xt*scale;
    yt = yt*scale;
    int x = Integer.parseInt((new Double(xt)).longValue()+"");
    int y = Integer.parseInt((new Double(yt)).longValue()+"");
    int Ph = x+h;
    int Pw = y+w;
    int Mh = (int)(panelHeight/2);
    int Mw = (int)(panelWidth/2);
    //System.out.println("航点Ph"+Ph+",航点Pw"+Pw+";中心点Mh"+Mh+",中心点Mw"+Mw+".");
    int PMh = Ph-Mh;
    int PMw = Pw-Mw;
    //System.out.println("-PMh:"+(-PMh)+",-PMw:"+(-PMw));
    ///
    this.heightMid = this.heightMid -PMh;
    this.widthMid = this.widthMid - PMw;
    this.setHW();
    ///
  }
  public void findTrk(int panelWidth,int panelHeight,Node node){

  }
  public void drawInfo(Graphics g){
    g.setColor(Color.BLACK);
    g.drawString("GPS-恒瑞公司", 5, 20);
  }
  private void jbInit() throws Exception {
  }
  public void drawTest(Graphics g){
    g.drawString("TEST",30,30);
  }
  private boolean BLACK_ORANGE = false;
  public void drawTrackpoint(Graphics g, Node point,DynamicPanel dp) {
    //(new DrawTrackpoint(dp, g, point, scale, x2, y1, h, w)).start();
  if(this.BLACK_ORANGE){
    g.setColor(Color.BLACK);
  }else{
    g.setColor(Color.ORANGE);
  }
  this.BLACK_ORANGE = !this.BLACK_ORANGE;
  String xTemp = "0.0", yTemp = "0.0";
  xTemp = ItemValue.getTracksPointX(point);
  yTemp = ItemValue.getTracksPointY(point);
  double xt = (Double.parseDouble(xTemp)-x2);
  double yt = (y1-Math.abs(Double.parseDouble(yTemp)));
  xt = xt*scale;
  yt = yt*scale;
  int x = Integer.parseInt((new Double(xt)).longValue()+"");
  int y = Integer.parseInt((new Double(yt)).longValue()+"");
  //g.setColor(color);
  g.drawOval(x+h-3,y+w-3,6,6);
  g.fillOval(x + h - 3, y + w - 3, 6, 6);
  }
  }
class DrawTrackpoint extends Thread{
  double scale = 0.0;
  double x2 = 0.0;
  double y1 = 0.0;

  int h = 0;
  int w = 0;
  Graphics g = null;
  Node point = null;
  DynamicPanel dp = null;
  DrawTrackpoint(DynamicPanel dp,Graphics g, Node point, double scale,double x2,double y1,int h,int w){
    this.scale = scale;
    this.x2 = x2;
    this.y1 = y1;
    this.h = h;
    this.w = w;
    this.g = g;
    this.point = point;
    this.dp = dp;
  }
  public void run(){
    for(int i =0;i<4;i++){
      this.drawTrackpoint(this.g,this.point,Color.ORANGE);
      /*
      try {
        Thread.sleep(200);
      }
      catch (InterruptedException ex) {
      }
      this.drawTrackpoint(this.g,this.point,Color.BLACK);
      try {
        Thread.sleep(200);
      }
      catch (InterruptedException ex) {
      }
      */
    }
    //this.dp.repaint();
  }
  public void drawTrackpoint(Graphics g, Node point, Color color) {
  String xTemp = "0.0", yTemp = "0.0";
  xTemp = ItemValue.getTracksPointX(point);
  yTemp = ItemValue.getTracksPointY(point);
  double xt = (Double.parseDouble(xTemp)-x2);
  double yt = (y1-Math.abs(Double.parseDouble(yTemp)));
  xt = xt*scale;
  yt = yt*scale;
  int x = Integer.parseInt((new Double(xt)).longValue()+"");
  int y = Integer.parseInt((new Double(yt)).longValue()+"");
  g.setColor(color);
  g.drawOval(x+h-3,y+w-3,6,6);
  g.fillOval(x + h - 3, y + w - 3, 6, 6);
  g.drawString("wewewewe",20,20);
  System.out.println("g.fillOval("+(x + h - 3)+","+( y + w - 3)+", 6, 6) --Class DrawTrackpoint ,method drawTrackpoint");
}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -