Java로 삼각형 그리기

Rupam Yadav 2023년10월12일
  1. java.awtjavax.swingPath2D와 함께 사용하여 Java로 삼각형 그리기
  2. java.awt,javax.swingdrawPolygon을 사용하여 Java로 삼각형 그리기
  3. Java에서drawLine()을 사용하여 삼각형 그리기
Java로 삼각형 그리기

이 기사에서는 Java에서 삼각형을 그리는 방법을 배웁니다. 우리는 그래픽 프로그래밍 애플리케이션을위한 최초의 Java 개발 패키지 인AWT (Abstract Window Component Toolkit)를 사용합니다. SwingAWT를 기반으로 한 새로 개발 된 Java 용 GUI 위젯 키트로 더 많은 기능을 제공합니다.

java.awtjavax.swingPath2D와 함께 사용하여 Java로 삼각형 그리기

메인 클래스에서 JFrame을 사용하여 GUI (Graphical User Interface)를 생성하기 위해 버튼, 텍스트 필드와 같은 구성 요소를 추가하는 메인 창을 생성합니다. Draw_A_Triangle 클래스는 GUI 구성 요소를 구성하는 데 사용되는 경량 컨테이너 인JPanel을 확장합니다. frame.add()메소드를 사용하여JPanelJFrames에 추가합니다.

Triangle_Shape 클래스는 임의의 기하학적 경로를 나타내는 단순하면서도 유연한 모양을 제공하는Path2D 클래스를 확장합니다. moveTo()메서드를 사용하여 첫 번째 점을 배치하고LineTo()메서드를 사용하여 추가 점을 배치합니다. close()메소드는 삼각형이 제대로 닫혔는지 확인합니다.

paintComponent()메서드는 패널이 생성되거나 사용자가 사용자 인터페이스에서 다시 그려야하는 작업을 수행 할 때 자동으로 호출됩니다. Graphics2D는 색상 관리, 지오메트리 및 텍스트 레이아웃에 대한 더 많은 제어를 제공합니다. 마지막으로g2d를 사용하고draw를 호출하여 삼각형을 그립니다.

import java.awt.*;
import java.awt.geom.Path2D;
import java.awt.geom.Point2D;
import javax.swing.*;

public class Draw_A_Triangle extends JPanel {
  public void paintComponent(Graphics g) {
    Triangle_Shape triangleShape = new Triangle_Shape(
        new Point2D.Double(50, 0), new Point2D.Double(100, 100), new Point2D.Double(0, 100));
    Graphics2D g2d = (Graphics2D) g.create();
    g2d.draw(triangleShape);
  }
  public static void main(String[] args) {
    JFrame.setDefaultLookAndFeelDecorated(true);
    JFrame frame = new JFrame("Draw Triangle");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setBackground(Color.white);
    frame.setSize(200, 200);

    Draw_A_Triangle panel = new Draw_A_Triangle();
    frame.add(panel);
    frame.setVisible(true);
  }
}
class Triangle_Shape extends Path2D.Double {
  public Triangle_Shape(Point2D... points) {
    moveTo(points[0].getX(), points[0].getY());
    lineTo(points[1].getX(), points[1].getY());
    lineTo(points[2].getX(), points[2].getY());
    closePath();
  }
}

출력:

Java로 삼각형 그리기-moveTo

java.awt,javax.swingdrawPolygon을 사용하여 Java로 삼각형 그리기

JFrame을 사용하여 최상위 컨테이너를 만든 다음JPanel을 확장하는DrawATriangle 클래스 인 패널을 여기에 추가합니다.

아래 코드와 같이paintComponent 내부에서drawPolygon 메서드를 호출하여Graphics 객체g에 삼각형을 만듭니다.

drawPolygon(int x[], int y[], int numOfPoints)메서드는x[]y[]배열에 지정된 좌표에 따라 윤곽 다각형을 그립니다. numOfPoints는 삼각형의 경우 3 인 점의 수를 제공합니다.

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

public class DrawATriangle extends JPanel {
  public void paintComponent(Graphics g) {
    int[] x = {50, 100, 0};
    int[] y = {0, 100, 100};
    g.drawPolygon(x, y, 3);
  }

  public static void main(String[] args) {
    JFrame.setDefaultLookAndFeelDecorated(true);
    JFrame frame = new JFrame("Draw a Polygon");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setBackground(Color.white);
    frame.setSize(300, 200);

    DrawATriangle panel = new DrawATriangle();
    frame.add(panel);
    frame.setVisible(true);
  }
}

출력:

Java로 삼각형 그리기-drawPolygon

Java에서drawLine()을 사용하여 삼각형 그리기

DrawTriangle 클래스에서paintCompnent()JFrame과 같은Swing 구성 요소를 사용하도록JComponent를 확장합니다. 여러 그리기 함수를 호출하는 데 사용할 수있는 Graphics매개 변수 gpaintComponent(Graphics g)를 재정의합니다.

선을 그리기 위해drawLine()메서드를 호출합니다. 세 줄로 된 삼각형을 만들려면drawLine()을 세 번 호출해야합니다. drawLine()은 선의 첫 번째 점과 두 번째 점의 x 및 y 좌표 인 4 개의 인수를받습니다.

getPreferredSize()메서드는 반환 유형Dimension과 함께 호출되어 창의 크기를 지정합니다. 마지막으로 삼각형을 표시하기 위해main 메소드에서JFrame 객체를 생성하고DrawTriangle 클래스의 객체를 추가합니다. 프레임이 처음에는 보이지 않으므로jFrame.setVisible(true)를 호출해야합니다.

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

public class DrawTriangle extends JComponent {
  @Override
  protected void paintComponent(Graphics g) {
    super.paintComponent(g);

    g.drawLine(120, 130, 280, 130);
    g.drawLine(120, 130, 200, 65);
    g.drawLine(200, 65, 280, 130);
  }

  public Dimension getPreferredSize() {
    return new Dimension(500, 300);
  }

  public static void main(String[] args) {
    JFrame jFrame = new JFrame();
    jFrame.add(new DrawTriangle());
    jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    jFrame.pack();
    jFrame.setVisible(true);
  }
}

출력:

Java로 삼각형 그리기-Drawline

작가: 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