Java로 삼각형 그리기

Rupam Yadav 2023년10월12일 Java Java AWT Java GUI
  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

튜토리얼이 마음에 드시나요? DelftStack을 구독하세요 YouTube에서 저희가 더 많은 고품질 비디오 가이드를 제작할 수 있도록 지원해주세요. 구독하다
작가: 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