Java로 원 그리기
이 기사에서는 GUI 구성 요소를 만드는 데 사용되는 라이브러리java.awt
및javax.swing
을 사용하여 Java에서 원을 그리는 방법을 소개합니다. 화면에 그리려는 그래픽 구성 요소를 더 많이 제어 할 수있는 Graphics2d
클래스의 여러 기능을 사용할 것입니다.
Java에서drawOval()
함수를 사용하여 원 그리기
첫 번째 예제에서는 타원형 모양을 만들 수 있지만 완벽한 원을 만들기 위해Graphics2D
클래스의drawOval()
메서드를 사용합니다. 원을 그리려면 먼저Graphics
클래스를 사용하여 구성 요소를 칠하는paint(Graphics g)
함수를 재정의합니다.
메서드와 속성을 사용하기 위해Graphics
를Graphics2D
유형으로 캐스트합니다. 이제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에서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에서Shape
와draw()
를 사용하여 원 그리기
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();
}
}
출력:
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