Java로 원 그리기

Rupam Yadav 2023년10월12일
  1. Java에서drawOval()함수를 사용하여 원 그리기
  2. Java에서drawRoundRect()함수를 사용하여 원 그리기
  3. Java에서Shapedraw()를 사용하여 원 그리기
Java로 원 그리기

이 기사에서는 GUI 구성 요소를 만드는 데 사용되는 라이브러리java.awtjavax.swing을 사용하여 Java에서 원을 그리는 방법을 소개합니다. 화면에 그리려는 그래픽 구성 요소를 더 많이 제어 할 수있는 Graphics2d클래스의 여러 기능을 사용할 것입니다.

Java에서drawOval()함수를 사용하여 원 그리기

첫 번째 예제에서는 타원형 모양을 만들 수 있지만 완벽한 원을 만들기 위해Graphics2D 클래스의drawOval()메서드를 사용합니다. 원을 그리려면 먼저Graphics 클래스를 사용하여 구성 요소를 칠하는paint(Graphics g)함수를 재정의합니다.

메서드와 속성을 사용하기 위해GraphicsGraphics2D 유형으로 캐스트합니다. 이제drawOval()함수를 호출하고 4 개의 인수를 전달합니다. 처음 두 개의 인수는 원의 x 및 y 좌표이고 마지막 두 개의 인수는 그릴 원의 너비와 높이를 지정합니다.

마지막으로javax.swing 패키지에서JFrame을 확장하여 지정된 크기와 속성을 가진 창 프레임을 만듭니다.

import java.awt.*;
import javax.swing.*;

public class DrawCircle extends JFrame {
  public DrawCircle() {
    setTitle("Drawing a Circle");
    setSize(400, 400);
    setVisible(true);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
  }

  @Override
  public void paint(Graphics g) {
    Graphics2D g2d = (Graphics2D) g;
    g2d.drawOval(150, 150, 100, 100);
  }

  public static void main(String[] args) {
    new DrawCircle();
  }
}

출력:

Java는 drawoval을 사용하여 원을 그립니다

Java에서drawRoundRect()함수를 사용하여 원 그리기

drawRoundRect()라는Graphics2D 클래스의 또 다른 방법을 사용하여 원을 그릴 수도 있습니다. 이름에서 알 수 있듯이 둥근 사각형을 그립니다. 첫 번째 예제와 마찬가지로paint(Graphics g)함수를 재정의 한 다음Graphics2D 클래스의drawRoundRect()메서드를 호출합니다.

drawRoundRect()는 6 개의 인수를받습니다. 처음 두 개는 x 및 y 좌표이고 다음 두 개는 너비와 높이를, 마지막 두 인수는 호의 너비와 높이입니다.

import java.awt.*;
import javax.swing.*;

public class DrawCircle extends JFrame {
  public DrawCircle() {
    setTitle("Drawing a Circle");
    setSize(250, 250);
    setVisible(true);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
  }

  @Override
  public void paint(Graphics g) {
    Graphics2D g2d = (Graphics2D) g;
    g2d.drawRoundRect(40, 50, 90, 90, 200, 200);
  }

  public static void main(String[] args) {
    new DrawCircle();
  }
}

출력:

Java는 drawRoundRect를 사용하여 원을 그립니다

Java에서Shapedraw()를 사용하여 원 그리기

draw()Shape를 인수로 취하는graphics2D 클래스의 또 다른 함수입니다. Shape는 기하학적 모양의 속성을 제공하는 인터페이스입니다. 여기에 원이 필요하므로 타원의 높이와 너비, 프레임 사각형의 x 및 y 좌표를 정의하는Ellipse2D.Double()을 사용합니다.

아래 예제에서는 인수를Ellipse2D.Double()에 전달하고 생성 된Shape 객체를draw()메서드에 전달합니다. 이 메서드는 마지막으로JFrame을 사용하여 만든 창에 원을 그립니다.

import java.awt.*;
import java.awt.geom.Ellipse2D;
import javax.swing.*;

public class DrawCircle extends JFrame {
  public DrawCircle() {
    setTitle("Drawing a Circle");
    setSize(250, 250);
    setVisible(true);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
  }

  @Override
  public void paint(Graphics g) {
    Graphics2D g2d = (Graphics2D) g;
    Shape circleShape = new Ellipse2D.Double(100, 100, 100, 100);

    g2d.draw(circleShape);
  }

  public static void main(String[] args) {
    new DrawCircle();
  }
}

출력:

Java는 모양을 사용하여 원을 그리고 그리기

작가: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

관련 문장 - Java GUI