Exemple #1
0
 private void drawCities(List<City> cities) {
   Color origColor = graphics.getColor();
   graphics.setColor(Color.red);
   int x1, y1;
   for (City city : cities) {
     x1 = city.getCoordinate().getX();
     y1 = city.getCoordinate().getY();
     if (city.isStart() || city.isEnd()) {
       graphics.fillOval(x1, y1, 8, 4);
     } else {
       graphics.drawOval(x1, y1, 8, 4);
     }
     graphics.drawString("(" + x1 + "," + y1 + ")", x1, y1);
   }
   graphics.setColor(origColor);
 }
Exemple #2
0
  private void drawSolution(List<City> solvedCityList) {
    City city1 = null, city2 = null;
    mapPanel.paint(graphics);
    graphics.setColor(Color.green);

    if (solvedCityList != null && solvedCityList.size() > 0) {
      city1 = solvedCityList.get(0);
      solvedCityList.remove(0);
    }
    for (City city : solvedCityList) {
      city2 = city;
      int x1, x2, y1, y2;
      x1 = city1.getCoordinate().getX();
      y1 = city1.getCoordinate().getY();
      x2 = city2.getCoordinate().getX();
      y2 = city2.getCoordinate().getY();
      graphics.setColor(Color.green);
      graphics.drawLine(x1, y1, x2, y2);
      graphics.setColor(Color.red);
      if (city1.isStart()) {
        graphics.fillOval(x1, y1, 16, 12);
      } else {
        graphics.drawOval(x1, y1, 16, 12);
      }

      graphics.drawString("(" + x1 + "," + y1 + ")", x1, y1);
      if (city2.isEnd()) {
        graphics.fillOval(x2, y2, 16, 12);
      } else {
        graphics.drawOval(x2, y2, 16, 12);
      }

      graphics.drawString("(" + x2 + "," + y2 + ")", x2, y2);
      String pathLength = city1.getDistance(city2).getValue();
      int xd = (x1 + x2) / 2;
      int yd = (y1 + y2) / 2;
      graphics.setColor(Color.BLUE);
      graphics.drawString(pathLength, xd, yd);
      city1 = city2;
    }
  }