コード例 #1
0
  // draw rectangles and arcs
  public void paintComponent(Graphics g) {
    super.paintComponent(g); // call superclass's paintComponent

    // start at 0 and sweep 360 degrees
    g.setColor(Color.RED);
    g.drawRect(15, 35, 80, 80);
    g.setColor(Color.BLACK);
    g.drawArc(15, 35, 80, 80, 0, 360);

    // start at 0 and sweep 110 degrees
    g.setColor(Color.RED);
    g.drawRect(100, 35, 80, 80);
    g.setColor(Color.BLACK);
    g.drawArc(100, 35, 80, 80, 0, 110);

    // start at 0 and sweep -270 degrees
    g.setColor(Color.RED);
    g.drawRect(185, 35, 80, 80);
    g.setColor(Color.BLACK);
    g.drawArc(185, 35, 80, 80, 0, -270);

    // start at 0 and sweep 360 degrees
    g.fillArc(15, 120, 80, 40, 0, 360);

    // start at 270 and sweep -90 degrees
    g.fillArc(100, 120, 80, 40, 270, -90);

    // start at 0 and sweep -270 degrees
    g.fillArc(185, 120, 80, 40, 0, -270);
  } // end method paintComponent
コード例 #2
0
ファイル: DebugGraphics.java プロジェクト: GregBowyer/Hotspot
  /** Overrides <code>Graphics.fillArc</code>. */
  public void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle) {
    DebugGraphicsInfo info = info();

    if (debugLog()) {
      info()
          .log(
              toShortString()
                  + " Filling arc: "
                  + new Rectangle(x, y, width, height)
                  + " startAngle: "
                  + startAngle
                  + " arcAngle: "
                  + arcAngle);
    }
    if (isDrawingBuffer()) {
      if (debugBuffered()) {
        Graphics debugGraphics = debugGraphics();

        debugGraphics.fillArc(x, y, width, height, startAngle, arcAngle);
        debugGraphics.dispose();
      }
    } else if (debugFlash()) {
      Color oldColor = getColor();
      int i, count = (info.flashCount * 2) - 1;

      for (i = 0; i < count; i++) {
        graphics.setColor((i % 2) == 0 ? info.flashColor : oldColor);
        graphics.fillArc(x, y, width, height, startAngle, arcAngle);
        Toolkit.getDefaultToolkit().sync();
        sleep(info.flashTime);
      }
      graphics.setColor(oldColor);
    }
    graphics.fillArc(x, y, width, height, startAngle, arcAngle);
  }
コード例 #3
0
ファイル: Spinner.java プロジェクト: suraksh/javaeetutorial5
  /** paints the Spinner */
  public void paint(Graphics g) {
    int start_angle = 90;
    int done_angle = (int) (percentDone * 360);

    g.setColor(getBackground());
    g.fillArc(3, 3, getSize().width - 8, getSize().height - 8, 0, 360);

    g.setColor(getForeground());
    g.fillArc(3, 3, getSize().width - 8, getSize().height - 8, start_angle, done_angle);

    g.setColor(Color.black);
    g.drawArc(3, 3, getSize().width - 8, getSize().height - 8, 0, 360);
  }
コード例 #4
0
ファイル: SmileComponent.java プロジェクト: akney/ney-mco152
  @Override
  protected void paintComponent(Graphics g) {
    // TODO Auto-generated method stub
    super.paintComponent(g);
    // g.drawLine(0, 300, 600, 50);
    g.setColor(Color.YELLOW);
    g.fillOval(x, 50, 500, 500);
    g.setColor(Color.WHITE);
    g.fillOval(150, 100, 100, 100);
    g.fillOval(350, 100, 100, 100);
    g.setColor(Color.BLUE);
    // g.fillOval(180, y, 50, 50);
    // g.fillOval(380, 100, 50, 50);
    g.setColor(Color.RED);
    g.fillArc(x3, 350, 350, 150, 180, 180);
    g.setColor(Color.MAGENTA);
    g.fillArc(x2, 350, 100, 200, 200, -200);
    g.setColor(Color.BLACK);

    g.setColor(Color.BLUE);
    g.fillOval(180, y, 50, h);
    g.fillOval(380, y, 50, h);
    y++;
    if (y == 150) {
      y = 100;
    }
    x--;
    if (x == 50) {
      x = 100;
    }
    x2--;
    if (x2 == 200) {
      x2 = 250;
    }
    h++;
    if (h == 50) {
      h = 0;
    }
    x3--;
    if (x3 == 100) {
      x3 = 150;
    }

    try {
      Thread.sleep(20);
    } catch (InterruptedException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    super.repaint();
  }
コード例 #5
0
  // Draw four blazes of a fan
  public void paintComponent(Graphics g) {
    super.paintComponent(g);

    int xCenter = getSize().width / 2;
    int yCenter = getSize().height / 2;
    int radius = (int) (Math.min(getSize().width, getSize().height) * 0.4);

    int x = xCenter - radius;
    int y = yCenter - radius;

    g.fillArc(x, y, 2 * radius, 2 * radius, 0, 30);
    g.fillArc(x, y, 2 * radius, 2 * radius, 90, 30);
    g.fillArc(x, y, 2 * radius, 2 * radius, 180, 30);
    g.fillArc(x, y, 2 * radius, 2 * radius, 270, 30);
  }
コード例 #6
0
  public void paint(Graphics g) {

    g.setColor(Color.green);

    g.drawRect(25, 50, 200, 0);

    g.drawRect(25, 100, 200, 100);

    g.drawRoundRect(25, 250, 200, 100, 10, 10);

    g.drawRect(250, 100, 250, 100);
    g.fillRect(250, 100, 250, 100);

    g.setColor(Color.black);
    g.drawOval(250, 100, 250, 100);

    g.setColor(Color.green);
    g.drawOval(250, 250, 250, 99);
    g.fillOval(250, 250, 250, 100);

    g.drawOval(550, 100, 250, 100);
    g.drawArc(550, 100, 250, 100, 90, 82);
    g.fillArc(550, 100, 250, 100, 90, 82);

    g.drawOval(600, 250, 100, 100);
  }
コード例 #7
0
  private void draw_horizon(int rad, Point center, int[] angles) {
    // Draw an arc
    int arc_angle =
        ((angles[0] > angles[1]) ? (360 - angles[0]) + angles[1] : (angles[1] - angles[0]));

    Polygon remainder = new Polygon();

    offgraphics_.setColor(GREEN);
    offgraphics_.fillArc(center.x - rad, center.y - rad, 2 * rad, 2 * rad, angles[0], arc_angle);

    if (pitch_ != 0) {
      if ((pitch_ > 0 && Math.abs(roll_) < 90) || (pitch_ < 0 && Math.abs(roll_) >= 90))
        offgraphics_.setColor(BLUE);

      int cover_angle = (angles[0] + arc_angle / 2 + ((arc_angle < 180) ? 180 : 0)) % 360;

      // System.out.println (points[0] + " " + points[1]);

      // System.out.println (accepted_point);

      remainder.addPoint(
          center.x + polar_to_rect_x(rad, cover_angle),
          center.y - polar_to_rect_y(rad, cover_angle));
      remainder.addPoint(
          center.x + polar_to_rect_x(rad, angles[0]), center.y - polar_to_rect_y(rad, angles[0]));
      remainder.addPoint(
          center.x + polar_to_rect_x(rad, angles[1]), center.y - polar_to_rect_y(rad, angles[1]));
      offgraphics_.fillPolygon(remainder);
      // offgraphics_.setColor (getBackground ());
      // offgraphics_.drawPolygon (remainder);
    }
  }
コード例 #8
0
  /**
   * If categories, summaries, or colors is empty, throws an IllegalArgumentException.
   *
   * <p>If categories, summaries, and colors don't have the same number of elements, throws an
   * IllegalArgumentException.
   *
   * <p>If any of the numbers in summaries is non-positive, throws an IllegalArgumentException.
   *
   * <p>Otherwise, views the three lists as a table with a String, a double, and a Color in each
   * column and displays the data with either a pie chart (if usePieChart is true) or a bar graph
   * (otherwise). Let SUM be the sum of all the entries in summaries. The area of slice i (of a pie
   * chart) and the length of bar i (in a bar graph) should be proportional to categories[i]/SUM.
   * The slice/bar should be labeled with categories[i] and summaries[i], and it should be colored
   * with colors[i].
   *
   * <p>For example, suppose we are given this data:
   *
   * <pre>
   *  Utah       14    Color.RED
   *  Nevada     14    Color.BLUE
   *  California 28    Color.GREEN
   * </pre>
   *
   * In a pie chart Utah and Nevada should each have a quarter of the pie and California should have
   * half. In a bar graph, California's line should be twice as long as Utah's and Nevada's.
   *
   * <p>The method should display the pie chart or bar graph by drawing on the g parameter. The
   * example code below draws both a pie chart and a bar graph for the situation described above.
   */
  public static void drawGraph(
      Graphics g,
      ArrayList<String> categories,
      ArrayList<Double> summaries,
      ArrayList<Color> colors,
      boolean usePieChart) {
    if (categories.size() == 0 || summaries.size() == 0 || colors.size() == 0) {
      throw new IllegalArgumentException(
          "Categories, summaries, and colors cannot be empty lists.");
    }
    if (categories.size() != summaries.size() || colors.size() != categories.size()) {
      throw new IllegalArgumentException(
          "Categories, summaries, and colors must be the same length.");
    }
    // find proportions of each slice/bar
    ArrayList<Double> proportions = graphProportions(summaries);

    if (usePieChart) {
      // find portions in degrees
      ArrayList<Double> degrees = findPieDegrees(proportions);

      // plug in values using for loop
      int labelYPosition = 5;
      int rectangleYPosition = -5;
      double startingDegree = 0;
      double revolveDegree = 360;

      int i = 0;
      for (i = 0; i < categories.size(); i++) {
        labelYPosition += 15;
        rectangleYPosition += 15;

        g.setColor(colors.get(i));
        g.fillArc(10, 10, DIAMETER, DIAMETER, (int) startingDegree, (int) revolveDegree);
        g.fillRect(DIAMETER + SPACING, rectangleYPosition, 10, 10);
        g.setColor(Color.black);
        g.drawString(categories.get(i) + " " + summaries.get(i), 350, labelYPosition);

        startingDegree += degrees.get(i);
        revolveDegree -= degrees.get(i);
      }

    } else {

      int i = 0;
      int yBarPos = 10;
      int yLabelPos = 25;
      for (i = 0; i < categories.size(); i++) {
        double start = FULLBAR - FULLBAR * proportions.get(i);
        double prop = FULLBAR * proportions.get(i);

        g.setColor(colors.get(i));
        g.fillRect((int) start + 10, yBarPos, (int) prop, 20);
        g.setColor(Color.black);
        g.drawString(categories.get(i) + " " + summaries.get(i), 330, yLabelPos);
        yBarPos += 30;
        yLabelPos += 30;
      }
    }
  }
コード例 #9
0
  public void paint(Graphics page) {

    {
      Font f = new Font("SAO UI", Font.BOLD, 36);
      Font g = new Font("SAO UI", Font.BOLD, 24);
      page.setFont(g);
      int wd, ht;
      int x, y;

      x = 50;
      y = 150;
      wd = 250;
      ht = 250;

      page.setColor(new Color(216, 0, 0));
      page.fillArc(x, y, wd, ht, 90, -126);
      page.drawString("RENT AND UTILITIES - 35%", 290, 200);
      page.setColor(new Color(0, 216, 0));
      page.fillArc(x, y, wd, ht, 270, 54);
      page.drawString("TRANSPORTATION - 15%", 250, 400);
      page.setColor(new Color(0, 0, 216));
      page.fillArc(x, y, wd, ht, 216, 54);
      page.drawString("FOOD - 15%", 10, 400);
      page.setColor(new Color(216, 216, 0));
      page.fillArc(x, y, wd, ht, 126, 90);
      page.drawString("EDU. - 25%", 5, 180);
      page.setColor(new Color(0, 216, 216));
      page.fillArc(x, y, wd, ht, 90, 36);
      page.drawString("MISC. - 10%", 50, 150);

      // (250, 200) is the top left of a box around the oval

      // 50 and 50 is the width and height of the box around the oval

      // 90 is the startAngle.  0 is far right, 90 is the top of the oval

      // 180 is the arcLength.  180 means starting at 90 and ending at 270 degrees

      page.setColor(Color.black);
      page.setFont(f);
      page.drawString("HOUSEHOLD SPENDING ON VARIOUS EXPENSES", 20, 30);
    }
  }
コード例 #10
0
 public void paint(Graphics g) {
   g.drawString("Hello", 40, 40);
   setBackground(Color.white);
   g.fillRect(130, 30, 100, 80);
   g.drawOval(30, 130, 50, 60);
   setForeground(Color.red);
   g.fillOval(130, 130, 50, 60);
   g.drawArc(30, 200, 40, 50, 90, 60);
   g.fillArc(50, 200, 40, 20, 180, 40);
 }
コード例 #11
0
    public void drawSegment(Point p1, Point p2, Color color) {
      g.setColor(color);

      double t = Math.atan2(p2.x - p1.x, p2.y - p1.y);
      double cosT = Math.cos(t);
      double sinT = Math.sin(t);
      int deg = (int) Math.toDegrees(t);
      if (selected) {
        int[] x =
            new int[] {
              (int) (p1.x + 5 * cosT),
              (int) (p2.x + 5 * cosT),
              (int) (p2.x - 5 * cosT),
              (int) (p1.x - 5 * cosT)
            };
        int[] y =
            new int[] {
              (int) (p1.y - 5 * sinT),
              (int) (p2.y - 5 * sinT),
              (int) (p2.y + 5 * sinT),
              (int) (p1.y + 5 * sinT)
            };
        g.fillPolygon(x, y, 4);
        g.fillArc(p1.x - 5, p1.y - 5, 10, 10, deg, 180);
        g.fillArc(p2.x - 5, p2.y - 5, 10, 10, deg, -180);
      } else {
        g.drawLine(
            (int) (p1.x + 5 * cosT),
            (int) (p1.y - 5 * sinT),
            (int) (p2.x + 5 * cosT),
            (int) (p2.y - 5 * sinT));
        g.drawLine(
            (int) (p1.x - 5 * cosT),
            (int) (p1.y + 5 * sinT),
            (int) (p2.x - 5 * cosT),
            (int) (p2.y + 5 * sinT));
        g.drawArc(p1.x - 5, p1.y - 5, 10, 10, deg, 180);
        g.drawArc(p2.x - 5, p2.y - 5, 10, 10, deg, -180);
      }
    }
コード例 #12
0
ファイル: Stadium.java プロジェクト: KimCheolJin/TeamProject
  public void paintStadium(Graphics g) {
    g.setColor(new Color(100, 255, 100));
    g.fillRect(0, 0, 720, 430);

    g.setColor(new Color(200, 255, 200));
    g.fillOval(310, 165, 100, 100);
    g.fillArc(70, 165, 100, 100, -90, 180);
    g.fillArc(550, 165, 100, 100, 90, 180);
    g.fillOval(-18, -18, 36, 36);
    g.fillOval(-18, 412, 36, 36);
    g.fillOval(702, 412, 36, 36);
    g.fillOval(702, -18, 36, 36);
    g.fillRect(0, 110, 120, 210);
    g.fillRect(600, 110, 120, 210);

    g.setColor(new Color(100, 255, 100));
    g.fillOval(314, 169, 92, 92);
    g.fillArc(74, 169, 92, 92, -90, 180);
    g.fillArc(554, 169, 92, 92, 90, 180);
    g.fillOval(-14, -14, 28, 28);
    g.fillOval(-14, 416, 28, 28);
    g.fillOval(706, 416, 28, 28);
    g.fillOval(706, -14, 28, 28);
    g.fillRect(0, 114, 116, 202);
    g.fillRect(604, 114, 116, 202);

    g.setColor(new Color(200, 255, 200));
    g.fillRect(358, 0, 4, 430);
    g.fillRect(0, 165, 60, 4);
    g.fillRect(660, 165, 60, 4);
    g.fillRect(0, 261, 60, 4);
    g.fillRect(660, 261, 60, 4);
    g.fillRect(60, 165, 4, 100);
    g.fillRect(660, 165, 4, 100);

    g.setColor(new Color(0, 0, 0));
    g.fillRect(0, 175, 4, 80);
    g.fillRect(716, 175, 4, 80);
  }
コード例 #13
0
  @Override
  public void paint(Graphics g) {
    System.out.println("Thread invoked the paint() " + Thread.currentThread().getName());
    g.setColor(Color.BLACK);
    g.setFont(textFont);
    g.drawString(timeMessage, 0, 15);
    g.fillOval(0, 20, 100, 100);

    g.setColor(Color.WHITE);
    g.fillOval(3, 23, 94, 94);

    g.setColor(Color.BLUE);
    g.fillArc(2, 22, 96, 96, 90, -arcLen);
  }
コード例 #14
0
ファイル: Expo.java プロジェクト: Dominik-Licari/schoolwork
  /**
   * Draws a "solid" arc which will look either like a pie wedge or Pac-man.<br>
   * A FILLED ARC is a "piece" of a SOLID OVAL.<br>
   * The first 5 parameters (g and 4 ints) are the same as drawOval.<br>
   * There are 2 additional parameters for the starting degree value and finishing degree of the
   * arc. <br>
   * 0 degrees is at the 12:00 position and the degrees progress in a CLOCKWISE fashion. <br>
   * (90 degrees is at 3:00, 180 degrees is at 6:00, 270 degrees is at 9:00, 360 degrees is back at
   * 12:00).
   */
  public static void fillArc(
      Graphics g, int centerX, int centerY, int hRadius, int vRadius, int start, int finish) {
    int hDiameter = 2 * hRadius;
    int vDiameter = 2 * vRadius;

    if (finish < start) finish += 360;
    int newStart = 90 - start; // shifts starting position from 3:00 to 12:00
    int newFinish =
        start
            - finish; // as oppose to finish-start.  Subtracting backwards changes from
                      // counter-clockwise to clockwise.

    g.fillArc(centerX - hRadius, centerY - vRadius, hDiameter, vDiameter, newStart, newFinish);
  }
コード例 #15
0
  /* public void draw_visualization_2(Graphics g) {
          g.setColor(new Color(230, 140, 170));
          if (flag_2 == true) {

              g.setColor(new Color(250, 20, 5));
          } else {

              g.setColor(new Color(5, 250, 20));
          }
          g.drawArc(120, 140, 40, 40, 0, 360);
          g.drawLine(140, 180, 140, 230);
          g.drawLine(140, 230, 100, 260);
          g.drawLine(140, 230, 180, 260);
          g.drawLine(140, 180, 100, 200);
          g.drawLine(140, 180, 180, 200);



      }
  */
  public void draw_a(Graphics g) {
    int p = -35, r = -50;

    g.translate(p, r);
    p = p + 10;
    r = r + 12;
    g.setColor(new Color(250, 0, 0));
    g.drawPolyline(a_x, a_y, 6);
    g.setColor(new Color(0, 250, 0));
    g.drawPolyline(a_x_1, a_y_1, 6);
    g.setColor(new Color(0, 0, 250));
    g.drawPolyline(a_x_2, a_y_2, 6);
    g.setColor(new Color(74, 124, 197));
    g.drawPolyline(a_x_3, a_y_3, 6);
    g.translate(p, r);
    p = p + 10;
    r = r + 12;

    g.setColor(new Color(250, 0, 0));
    g.drawArc(a_x[5] - 20, a_y[5] - 20, 20, 20, 0, 360);
    g.fillArc(a_x[5] - 20, a_y[5] - 20, 20, 20, 0, 360);
    g.setColor(new Color(0, 250, 0));
    g.drawArc(a_x_1[5] - 20, a_y_1[5] - 20, 20, 20, 0, 360);
    g.fillArc(a_x_1[5] - 20, a_y_1[5] - 20, 20, 20, 0, 360);
    g.setColor(new Color(0, 0, 250));
    g.drawArc(a_x_2[5] - 20, a_y_2[5] - 20, 20, 20, 0, 360);
    g.fillArc(a_x_2[5] - 20, a_y_2[5] - 20, 20, 20, 0, 360);
    g.setColor(new Color(74, 124, 197));
    g.drawArc(a_x_3[5] - 20, a_y_3[5] - 20, 20, 20, 0, 360);
    g.fillArc(a_x_3[5] - 20, a_y_3[5] - 20, 20, 20, 0, 360);

    g.translate(p, r);
    p = p + 10;
    r = r + 12;
    // drawetc(g);

  }
コード例 #16
0
ファイル: MazeManApplet.java プロジェクト: iuomo/java
  void drawMazeMan(boolean open) {
    Graphics g = parent.getGraphics();
    g.setColor(Color.yellow);

    if (open) g.fillArc(x, y, width, height, startangle, 270);
    else {
      g.fillOval(x, y, width, height);
      g.setColor(Color.black);
      switch (direction) {
        case 1:
          g.drawLine(x + 9, y + 9, x + 18, y + 9);
          break;
        case 2:
          g.drawLine(x + 9, y + 9, x + 9, y + 18);
          break;
        case 3:
          g.drawLine(x + 9, y + 9, x, y + 9);
          break;
        case 4:
          g.drawLine(x + 9, y + 9, x + 9, y);
          break;
      }
    }
    g.setColor(Color.black);
    g.fillOval(x + eyeX, y + eyeY, 3, 3);

    if ((parent.focussed) & (!parent.reportscore)) {
      g.setColor(new Color(0, 0, 0)); // change the bg color
      g.fillRect(0, 330, 400, 350);
      g.setColor(Color.yellow);
      parent.totaltime = (int) ((System.currentTimeMillis() - parent.starttime) / 1000);
      g.drawString("" + parent.totaltime + " seconds", 10, 360);
    }

    parent.done = true;
    for (parent.b = 0; parent.b < 20; parent.b++) {
      for (parent.a = 0; parent.a < 16; parent.a++) {
        if ((parent.matrix[parent.a][parent.b] == 2) | (parent.matrix[parent.a][parent.b] == 3))
          parent.done = false;
      }
    }
    if ((parent.done) & (!parent.reportscore)) {
      g.setColor(Color.yellow);

      // g.drawString("You complete the maze in " + parent.totaltime + " seconds.",10,380);
      parent.reportscore = true;
      InsertData s = new InsertData(g, parent.totaltime);
    }
  }
コード例 #17
0
ファイル: DrawExample.java プロジェクト: Furbutt/Black_21
  public void paint(Graphics g) {
    g.setFont(bigFont);
    g.drawString("Shapes and Colors", 80, 20);

    g.setColor(redColor);

    g.drawRect(100, 100, 100, 100);

    g.fillRect(110, 110, 80, 80);
    g.setColor(weirdColor);
    g.fillArc(120, 120, 60, 60, 0, 360);
    g.setColor(Color.yellow);
    g.drawLine(140, 140, 160, 160);
    g.setColor(Color.black);
  }
コード例 #18
0
ファイル: SummaryView.java プロジェクト: delkyd/MCT-Plugins
 @Override
 public void paintComponent(Graphics g) {
   if (slices != null && !slices.isEmpty()) {
     Arc2D arc2D = null;
     double start = 0;
     int size = Math.min(getWidth(), getHeight()) - 10;
     int x = getWidth() / 2 - size / 2;
     int y = getHeight() / 2 - size / 2;
     if (g instanceof Graphics2D) {
       arc2D = new Arc2D.Double(Arc2D.PIE);
       arc2D.setFrame(x, y, size, size);
       ((Graphics2D) g)
           .setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
     }
     for (PieSlice slice : slices) {
       double arc = (slice.cost / total) * 360.0;
       if (g instanceof Graphics2D) {
         arc2D.setAngleStart(start);
         arc2D.setAngleExtent(arc);
         Color c = ScenarioColorPalette.getColor(slice.toString());
         g.setColor(slice.equals(highlighted) ? c.brighter() : c);
         ((Graphics2D) g).fill(arc2D);
         g.setColor(Color.BLACK);
         ((Graphics2D) g).draw(arc2D);
       } else {
         g.setColor(ScenarioColorPalette.getColor(slice.toString()));
         g.fillArc(x, y, size, size, (int) start, (int) arc);
         g.setColor(Color.BLACK);
         g.drawArc(x, y, size, size, (int) start, (int) arc);
       }
       start += arc;
     }
     g.setColor(ScenarioColorPalette.getColor("Untagged"));
     g.fillArc(x, y, size, size, (int) start, (int) (360.0 - start));
   }
 }
コード例 #19
0
  public void paintComponent(Graphics g) {
    String str = "by Roman Nemchinov";
    g.fillRect(0, 0, this.getWidth(), this.getHeight());

    int red = (int) (Math.random() * 255);
    int green = (int) (Math.random() * 255);
    int blue = (int) (Math.random() * 255);

    Color randomColor = new Color(red, green, blue);
    g.setColor(randomColor);
    g.fillRect(30, 30, 70, 70);
    g.fillOval(140, 25, 80, 80);
    g.drawString(str, 80, 230);
    g.fillRoundRect(30, 110, 70, 70, 30, 30);
    g.fillArc(140, 110, 70, 70, 250, 250);
  }
コード例 #20
0
  @Override
  public void paintComponent(Graphics g) {
    super.paintComponent(g);
    int centerX = this.getWidth() / 2;
    int centerY = this.getHeight() / 2;
    int radius = Math.min(getWidth() - 4, getHeight() - 4) / 2;
    double angle = myController.getValue() * 2 * Math.PI;

    g.fillOval(centerX - radius, centerY - radius, radius * 2, radius * 2);
    g.setColor(Color.yellow);
    g.fillArc(
        centerX - radius, centerY - radius, radius * 2, radius * 2, 0, (int) Math.toDegrees(angle));

    int pinX = centerX + (int) (Math.cos(angle) * radius);
    int pinY = centerY - (int) (Math.sin(angle) * radius);
    g.setColor(Color.gray.brighter());
    g.fill3DRect(pinX - 4, pinY - 4, 8, 8, true);
  }
コード例 #21
0
ファイル: MapPanel.java プロジェクト: yeori/kmeans-demo
  private void drawCluster(Graphics g, List<ClusterVM> cvms) {
    Color cache = g.getColor();

    for (int i = 0; i < cvms.size(); i++) {
      ClusterVM cvm = cvms.get(i);
      Observation loc = cvm.getCluster().getCentroid();
      int cx = (int) loc.x, cy = (int) loc.y;
      int r = clusterRadius;
      Color color = cvm.getClusterColor();
      g.setColor(color);
      g.fillArc(cx - r, cy - r, 1 + 2 * r, 1 + 2 * r, 0, 360);
      g.setColor(Color.WHITE);
      g.drawArc(cx - r, cy - r, 1 + 2 * r, 1 + 2 * r, 0, 360);
      g.setColor(Color.BLACK);
      g.drawArc(cx - r - 1, cy - r - 1, 1 + 2 * r + 2, 1 + 2 * r + 2, 0, 360);
    }

    g.setColor(cache);
  }
コード例 #22
0
ファイル: SLGView.java プロジェクト: pdewan/Shapes
 private static void paintArc(Graphics g, RemoteArc arc, boolean fill) {
   try {
     Rectangle bounds = arc.getBounds();
     if (fill)
       g.fillArc(
           bounds.x,
           bounds.y,
           bounds.width,
           bounds.height,
           arc.getStartAngle(),
           arc.getEndAngle());
     else
       g.drawArc(
           bounds.x,
           bounds.y,
           bounds.width,
           bounds.height,
           arc.getStartAngle(),
           arc.getEndAngle());
   } catch (Exception e) {
     e.printStackTrace();
     // System.out.println(e);
   }
 }
コード例 #23
0
 // Draws a sector, centered at x, y, of radius r,
 // of angle measure degrees, starting at fromDegree.
 private void drawSector(Graphics g, int x, int y, int r, int fromDegree, int degrees) {
   if (degrees > 359) g.fillOval(x - r, y - r, 2 * r, 2 * r);
   else g.fillArc(x - r, y - r, 2 * r, 2 * r, fromDegree, degrees);
 }
コード例 #24
0
ファイル: A8.java プロジェクト: Katrinarw1/Assignment08
  // drawing of the game happens in here
  // we use the Graphics object, g, to perform the drawing
  // NOTE: This is already double buffered!(helps with framerate/speed)
  @Override
  public void paintComponent(Graphics g) {
    // always clear the screen first!
    g.clearRect(0, 0, WIDTH, HEIGHT);

    // GAME DRAWING GOES HERE
    // Background
    g.setColor(Color.CYAN);
    g.fillRect(0, 0, WIDTH, HEIGHT);

    // Hair
    // Color hair = new Color(94, 52, 25);
    g.setColor(Color.RED);
    g.fillOval(175, 200, 150, 150);
    g.fillOval(150, 250, 150, 150);
    g.fillOval(375, 200, 150, 150);
    g.fillOval(400, 250, 150, 150);
    g.fillOval(200, 150, 300, 300);
    g.fillOval(425, 300, 150, 150);
    g.fillOval(125, 300, 150, 150);
    g.fillOval(450, 350, 150, 150);
    g.fillOval(100, 350, 150, 150);
    g.fillOval(200, 300, 300, 300);
    g.fillOval(475, 400, 150, 150);
    g.fillOval(75, 400, 150, 150);
    g.fillOval(500, 450, 150, 150);
    g.fillOval(50, 450, 150, 150);
    g.fillOval(400, 450, 150, 150);
    g.fillOval(150, 450, 150, 150);

    // Head
    Color skin = new Color(255, 226, 201);
    g.setColor(skin);
    g.fillOval(200, 200, 300, 300);

    // Eyebrows
    g.setColor(Color.RED);
    g.fillOval(273, 280, 50, 50);
    g.fillOval(380, 280, 50, 50);

    g.setColor(skin);
    g.fillOval(273, 285, 50, 50);
    g.fillRect(273, 295, 50, 50);
    g.fillOval(380, 285, 50, 50);
    g.fillRect(380, 295, 50, 50);

    // Hair
    g.setColor(Color.RED);
    g.fillArc(200, 130, 150, 150, 200, 180);
    g.fillArc(350, 130, 150, 150, 150, 180);
    g.fillArc(170, 210, 100, 100, 200, 180);
    g.fillArc(435, 210, 100, 100, 150, 180);

    // Eyes
    g.setColor(Color.WHITE);
    g.fillOval(275, 295, 45, 45);
    g.fillOval(380, 295, 45, 45);
    g.setColor(Color.BLUE);
    g.fillOval(280, 300, 35, 35);
    g.fillOval(385, 300, 35, 35);
    g.setColor(Color.BLACK);
    g.fillOval(leftEye.x, leftEye.y, leftEye.width, leftEye.height);
    g.fillOval(rightEye.x, rightEye.y, rightEye.width, rightEye.height);

    // Nose
    Color shade = new Color(240, 205, 175);
    g.setColor(shade);
    g.fillRect(340, 350, 20, 20);

    // Mouth
    Color mouth = new Color(255, 92, 89);
    g.setColor(mouth);
    g.fillArc(310, 360, 75, 75, 180, 180);

    // GAME DRAWING ENDS HERE
  }
コード例 #25
0
    @Override
    protected void paintComponent(Graphics g) {
      super.paintComponent(g);

      // Get the appropriate size for the figure
      int width = getWidth();
      int height = getHeight();

      switch (type) {
        case LINE: // Display two cross lines
          g.setColor(Color.BLACK);
          g.drawLine(10, 10, width - 10, height - 10);
          g.drawLine(width - 10, 10, 10, height - 10);
          break;
        case RECTANGLE: // Display a rectangle
          g.setColor(Color.blue);
          if (filled)
            g.fillRect(
                (int) (0.1 * width),
                (int) (0.1 * height),
                (int) (0.8 * width),
                (int) (0.8 * height));
          else
            g.drawRect(
                (int) (0.1 * width),
                (int) (0.1 * height),
                (int) (0.8 * width),
                (int) (0.8 * height));
          break;
        case ROUND_RECTANGLE: // Display a round-cornered rectangle
          g.setColor(Color.red);
          if (filled)
            g.fillRoundRect(
                (int) (0.1 * width),
                (int) (0.1 * height),
                (int) (0.8 * width),
                (int) (0.8 * height),
                20,
                20);
          else
            g.drawRoundRect(
                (int) (0.1 * width),
                (int) (0.1 * height),
                (int) (0.8 * width),
                (int) (0.8 * height),
                20,
                20);
          break;
        case OVAL: // Display an Oval
          g.setColor(Color.black);
          if (filled)
            g.fillOval(
                (int) (0.1 * width),
                (int) (0.1 * height),
                (int) (0.8 * width),
                (int) (0.8 * height));
          else
            g.drawOval(
                (int) (0.1 * width),
                (int) (0.1 * height),
                (int) (0.8 * width),
                (int) (0.8 * height));
          break;
        case ARC: // Display an arc
          g.setColor(Color.blue);
          if (filled) {
            g.fillArc(
                (int) (0.1 * width),
                (int) (0.1 * height),
                (int) (0.8 * width),
                (int) (0.8 * height),
                0,
                30);
            g.fillArc(
                (int) (0.1 * width),
                (int) (0.1 * height),
                (int) (0.8 * width),
                (int) (0.8 * height),
                90,
                30);
            g.fillArc(
                (int) (0.1 * width),
                (int) (0.1 * height),
                (int) (0.8 * width),
                (int) (0.8 * height),
                180,
                30);
            g.fillArc(
                (int) (0.1 * width),
                (int) (0.1 * height),
                (int) (0.8 * width),
                (int) (0.8 * height),
                270,
                30);
          } else {
            g.drawArc(
                (int) (0.1 * width),
                (int) (0.1 * height),
                (int) (0.8 * width),
                (int) (0.8 * height),
                0,
                30);
            g.drawArc(
                (int) (0.1 * width),
                (int) (0.1 * height),
                (int) (0.8 * width),
                (int) (0.8 * height),
                90,
                30);
            g.drawArc(
                (int) (0.1 * width),
                (int) (0.1 * height),
                (int) (0.8 * width),
                (int) (0.8 * height),
                180,
                30);
            g.drawArc(
                (int) (0.1 * width),
                (int) (0.1 * height),
                (int) (0.8 * width),
                (int) (0.8 * height),
                270,
                30);
          }
          break;

        case POLYGON:
          g.setColor(Color.red);
          int radius = (int) (0.4 * Math.min(width, height));
          int xCenter = (int) (0.4 * width);
          int yCenter = (int) (0.4 * height);
          Polygon p = new Polygon();
          p.addPoint(xCenter + radius, yCenter);

          p.addPoint(
              (int) (xCenter + radius * Math.cos(2 * Math.PI / 6)),
              (int) (yCenter - radius * Math.sin(2 * Math.PI / 6)));

          p.addPoint(
              (int) (xCenter + radius * Math.cos(2 * 2 * Math.PI / 6)),
              (int) (yCenter - radius * Math.sin(2 * 2 * Math.PI / 6)));

          p.addPoint(
              (int) (xCenter + radius * Math.cos(3 * 2 * Math.PI / 6)),
              (int) (yCenter - radius * Math.sin(3 * 2 * Math.PI / 6)));

          p.addPoint(
              (int) (xCenter + radius * Math.cos(4 * 2 * Math.PI / 6)),
              (int) (yCenter - radius * Math.sin(4 * 2 * Math.PI / 6)));

          p.addPoint(
              (int) (xCenter + radius * Math.cos(5 * 2 * Math.PI / 6)),
              (int) (yCenter - radius * Math.sin(5 * 2 * Math.PI / 6)));

          if (filled) {
            g.fillPolygon(p);
          } else {
            g.drawPolygon(p);
          }
          break;

        default:
          g.setColor(Color.BLACK);
          g.drawLine(10, 10, width - 10, height - 10);
          g.drawLine(width - 10, 10, 10, height - 10);
          break;
      }
    }
コード例 #26
0
ファイル: Clock.java プロジェクト: joeyzzheng/ClockBean
  // Private support methods
  private void drawAnalogClock(Graphics g) {
    Dimension d = getSize();
    int centerX = d.width / 2;
    int centerY = d.height / 2;
    Calendar now = Calendar.getInstance();

    // Draw the clock shape
    g.setFont(getFont());
    g.setColor(Color.white);
    g.fillArc(0, 0, d.width, d.height, 0, 360);
    g.setColor(Color.black);
    g.drawArc(0, 0, d.width, d.height, 0, 360);

    // draw hour numbers
    g.setColor(getForeground());
    for (int i = 1; i <= 12; i++) {
      double numberTheta = (double) i / 12 * 2 * Math.PI;
      double numberRadius = getEllipseRadius(centerX, centerY, numberTheta);
      int numberX =
          (int)
              (centerX
                  + 0.9 * numberRadius * Math.sin(numberTheta)
                  - g.getFontMetrics().getStringBounds(String.valueOf(i), g).getCenterX());
      int numberY =
          (int)
              (centerY
                  - 0.9 * numberRadius * Math.cos(numberTheta)
                  - g.getFontMetrics().getStringBounds(String.valueOf(i), g).getCenterY());

      g.drawString(String.valueOf(i), numberX, numberY);
    }

    // draw hour markers
    for (int i = 1; i <= 60; i++) {
      double barTheta = (double) i / 60 * 2 * Math.PI;
      double numberRadius = getEllipseRadius(centerX, centerY, barTheta);
      int numberXFull = (int) (centerX + numberRadius * Math.sin(barTheta));
      int numberYFull = (int) (centerY - numberRadius * Math.cos(barTheta));

      g.drawLine(
          (int) (centerX + 0.97 * numberRadius * Math.sin(barTheta)),
          (int) (centerY - 0.97 * numberRadius * Math.cos(barTheta)),
          numberXFull,
          numberYFull);
    }

    // Draw the hour hand
    double hourTheta =
        ((double) now.get(Calendar.HOUR)
                + (double) now.get(Calendar.MINUTE) / 60
                + (double) now.get(Calendar.SECOND) / 3600)
            / 12
            * 2
            * Math.PI;
    double hourRadius = getEllipseRadius(centerX, centerY, hourTheta);
    int hourX = (int) (centerX + 0.5 * hourRadius * Math.sin(hourTheta));
    int hourY = (int) (centerY - 0.5 * hourRadius * Math.cos(hourTheta));
    int hourXOrigin = (int) (centerX - 0.1 * hourRadius * Math.sin(hourTheta));
    int hourYOrigin = (int) (centerY + 0.1 * hourRadius * Math.cos(hourTheta));
    g.setColor(Color.BLACK);
    g.fillArc(hourX - 3, hourY - 3, 6, 6, 0, 360);
    g.drawLine(hourXOrigin, hourYOrigin, hourX, hourY);

    // Draw the minute hand
    double minuteTheta =
        ((double) now.get(Calendar.MINUTE) + (double) now.get(Calendar.SECOND) / 60)
            / 60
            * 2
            * Math.PI;
    double minuteRadius = getEllipseRadius(centerX, centerY, minuteTheta);
    int minuteX = (int) (centerX + 0.8 * minuteRadius * Math.sin(minuteTheta));
    int minuteY = (int) (centerY - 0.8 * minuteRadius * Math.cos(minuteTheta));
    int minuteXOrigin = (int) (centerX - 0.1 * minuteRadius * Math.sin(minuteTheta));
    int minuteYOrigin = (int) (centerY + 0.1 * minuteRadius * Math.cos(minuteTheta));
    g.fillArc(minuteX - 3, minuteY - 3, 6, 6, 0, 360);
    g.drawLine(minuteXOrigin, minuteYOrigin, minuteX, minuteY);

    // Draw the second hand
    double secondTheta = ((double) now.get(Calendar.SECOND)) / 60 * 2 * Math.PI;
    double secondRadius = getEllipseRadius(centerX, centerY, secondTheta);
    int secondX = (int) (centerX + 0.9 * secondRadius * Math.sin(secondTheta));
    int secondY = (int) (centerY - 0.9 * secondRadius * Math.cos(secondTheta));
    int secondXOrigin = (int) (centerX - 0.1 * secondRadius * Math.sin(secondTheta));
    int secondYOrigin = (int) (centerY + 0.1 * secondRadius * Math.cos(secondTheta));
    // redness of second hand getting darker and darker
    g.setColor(
        new Color(
            255,
            199 - (int) (199 * (double) now.get(Calendar.SECOND) / 60),
            199 - (int) (199 * (double) now.get(Calendar.SECOND) / 60)));
    g.fillArc(secondX - 3, secondY - 3, 6, 6, 0, 360);
    g.drawLine(secondXOrigin, secondYOrigin, secondX, secondY);

    // draw the center
    g.setColor(Color.BLACK);
    g.fillArc(centerX - 3, centerY - 3, 6, 6, 0, 360);
  }
コード例 #27
0
ファイル: JellyBean.java プロジェクト: cstrahan/aduni
 public void paint(Graphics g) {
   g.setColor(ourColor);
   g.fillArc(5, 5, 30, 30, 0, 360);
   g.fillArc(25, 5, 30, 30, 0, 360);
   g.fillRect(20, 5, 20, 30);
 }
コード例 #28
0
ファイル: stone.java プロジェクト: yuichib/Ant
 public void draw_Stone(Graphics g) {
   g.setColor(Color.gray);
   g.fillArc(get_posx(), get_posy(), STONE_RADIUS, STONE_RADIUS, 0, 360);
 }
コード例 #29
0
ファイル: Kenny.java プロジェクト: grade11/Exercise8
  // drawing of the game happens in here
  // we use the Graphics object, g, to perform the drawing
  // NOTE: This is already double buffered!(helps with framerate/speed)
  @Override
  public void paintComponent(Graphics g) {
    // always clear the screen first!

    // GAME DRAWING GOES HERE

    g.clearRect(0, 0, WIDTH, HEIGHT);

    // custom colours
    Color background = new Color(173, 254, 255);
    Color Skin = new Color(255, 216, 181);
    Color BRown = new Color(163, 82, 28);
    Color ORange = new Color(255, 128, 43);

    // make a background
    g.setColor(background);
    g.fillRect(0, 0, 5000, 5000);
    // make a road
    g.setColor(Color.DARK_GRAY);
    g.fillRect(0, 650, 5000, 5000);

    g.setColor(Color.yellow);
    g.fillRect(10, 740, 30, 10);
    g.fillRect(90, 740, 30, 10);
    g.fillRect(170, 740, 30, 10);
    g.fillRect(250, 740, 30, 10);
    g.fillRect(330, 740, 30, 10);
    g.fillRect(410, 740, 30, 10);
    g.fillRect(490, 740, 30, 10);
    g.fillRect(570, 740, 30, 10);
    g.fillRect(650, 740, 30, 10);
    g.fillRect(730, 740, 30, 10);
    g.fillRect(810, 740, 30, 10);
    g.fillRect(890, 740, 30, 10);
    g.fillRect(970, 740, 30, 10);
    g.fillRect(1050, 740, 30, 10);
    g.fillRect(1130, 740, 30, 10);
    g.fillRect(1193, 740, 30, 10);

    // make rain
    g.setColor(Color.blue);
    for (int i = 0; i < rainX.length; i++) {
      g.fillRect(rainX[i], rainY[i], 10, 20);
    }

    // make face

    g.setColor(ORange);
    // body
    g.fillRect(475, 540, 250, 170);
    g.fillArc(450, 450, 300, 400, 0, 180);
    // hands
    g.fillOval(439, 630, 50, 50);
    g.fillOval(707, 630, 50, 50);
    g.setColor(Color.red);
    g.drawOval(460, 630, 25, 25);
    g.drawOval(707, 630, 25, 25);
    g.setColor(Color.black);
    // pockets
    // right pocket
    g.drawLine(718, 630, 715, 600);
    g.drawLine(719, 630, 716, 600);
    // left pocket
    g.drawLine(472, 630, 475, 600);
    g.drawLine(473, 630, 476, 600);
    // zipper
    g.drawLine(595, 500, 595, 650);
    g.drawLine(596, 500, 596, 650);
    g.drawLine(597, 500, 597, 650);
    g.drawLine(598, 500, 598, 650);

    // black outline of head
    g.fillOval(450, 251, 300, 300);
    g.setColor(ORange);
    // black border around face
    g.fillOval(449, 250, 303, 299);
    g.setColor(Color.BLACK);
    g.fillOval(500, 300, 200, 200);
    g.setColor(ORange);
    g.fillOval(504, 303, 193, 193);

    // border around face
    g.setColor(BRown);
    g.fillOval(513, 302, 175, 175);

    // make face
    g.setColor(Skin);

    g.fillArc(527, 315, 150, 150, -90, 180);
    g.fillArc(528, 315, 150, 150, 270, -180);

    // make eyes
    g.setColor(Color.WHITE);
    g.fillOval(528, 348, 75, 75);
    g.fillOval(600, 350, 75, 75);

    g.setColor(Color.BLACK);
    g.fillOval(609, 379, 10, 10);
    g.fillOval(585, 378, 10, 10);

    // make Feet
    g.fillArc(464, 700, 140, 30, 0, 180);
    g.fillArc(595, 700, 140, 30, 0, 180);

    // make bullet
    g.fillArc(bullet, 350, 40, 40, -90, 180);

    // make bullet mover towards kenny
    bullet++;

    // when the bullet hits kenny make screen go blank
    if (timer > 416 || bullet > 426) {
      g.setColor(Color.red);
      g.fillRect(0, 0, 1200, 850);
    }

    if (timer > 420 || bullet >= 435) {
      g.setColor(Color.black);
      g.fillRect(0, 0, 1200, 850);
    }

    // when screen goes blank reset the scene
    if (timer > 425) {
      timer = 0;
      bullet = 0;
    }

    // GAME DRAWING ENDS HERE
  }