[Java/Swing] paint 메서드 : 도형, 이미지, 문자열 그리기

2023. 2. 14. 23:17·Java/Swing (GUI)
728x90
728x90

JPanel 클래스의 paint 메서드

  - JPanel 클래스를 상속받아, paint 메서드를 재정의해서 그림을 그릴 수 있음

 

#  도형 그리기

// JFrame을 상속받은 클래스의 외부 or 내부에 선언해서 사용
class 클래스명 extends JPanel {

    // paint 메서드를 재정의해서 사용함
    @Override
    public void paint(Graphics g) {
        super.paint(g);
        
        // fillRect : 채운 사각형
        // 사각형 그리기
        g.drawRect(x좌표, y좌표, 너비, 높이);
        
        // 둥근 사각형 그리기
        g.drawRoundRect(매개변수);
        
        // 문자열 넣기
        g.drawString("문자열", x좌표, y좌표);
        
        // 선 그리기       
        g.drawLine(x좌표1, y좌표1, x좌표2, y좌표2);
        
        // 원 그리기
        g.drawOval(x좌표, y좌표, 너비, 높이);
        
        // 곡선 그리기
        g.drawArc(x좌표, y좌표, 너비, 높이, 시작점각도, 그릴각도); 
        // 시작점 각도는 →가 0도
    }
}

// 해당 클래스를 멤버변수로 선언해 인스턴스화한 후,
// add 메서드로 추가하면 그림이 그려짐

  - 예제 : https://young0105.tistory.com/69

 

#  이미지 삽입하기

// JFrame을 상속받은 클래스의 외부 or 내부에 선언해서 사용
class 클래스명 extends JPanel {

    // 이미지 변수 선언
    private Image 이미지명;

    // 생성자
    public 클래스명() {
        // 이미지 가져오기 (같은 폴더여야 경로 설정 없이 가져올 수 있음)
        이미지명 = new ImageIcon("경로/파일명.확장자").getImage();
    }

    // paint 메서드를 재정의해서 사용함
    @Override
    public void paint(Graphics g) {
        super.paint(g);
        // 이미지 삽입
        g.drawImage(이미지명, x좌표, y좌표, 너비, 높이, null);
    }
}

// 해당 클래스를 멤버변수로 선언해 인스턴스화한 후,
// add 메서드로 추가하면 그림이 그려짐

  - 예제 : https://young0105.tistory.com/79

 

#  다시 그리기

// 새로고침과 같은 역할 (paint 메서드를 다시 호출함)
repaint();

 

320x100
반응형
저작자표시 비영리 변경금지 (새창열림)

'Java > Swing (GUI)' 카테고리의 다른 글

[Java/Swing] JLabel 클래스 : 이미지 관련  (0) 2023.02.16
[Java/Swing] 이미지 삽입하기  (0) 2023.02.14
[Java/Swing] 패널 (Panel)  (0) 2023.02.14
[Java/Swing] 패널 - 영역 분리하기  (0) 2023.02.14
[Java/Swing] 컴포넌트 (Component)  (0) 2023.02.14
'Java/Swing (GUI)' 카테고리의 다른 글
  • [Java/Swing] JLabel 클래스 : 이미지 관련
  • [Java/Swing] 이미지 삽입하기
  • [Java/Swing] 패널 (Panel)
  • [Java/Swing] 패널 - 영역 분리하기
스응
스응
    반응형
    250x250
  • 스응
    이서영의 개발 블로그
    스응
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 분류 전체보기 (385)
      • Java (134)
        • Base (54)
        • Spring Boot (37)
        • JSP (16)
        • Swing (GUI) (20)
        • Design Pattern (7)
      • C# (13)
      • PHP (18)
      • SQL (27)
      • Vue.js (9)
      • Tailwind CSS (4)
      • TypeScript (7)
      • HTML & CSS (27)
      • JavaScript (26)
      • jQuery (10)
      • Android (3)
      • - - - - - - - - - - - - - - (0)
      • Hotkeys (5)
      • CS (30)
      • IT Notes (13)
      • Error Notes (17)
      • Team Project (24)
        • Airlines Web Project (12)
        • University Web Project (6)
        • Strikers 1945 GUI Project (6)
      • My Project (18)
        • Library Web Project (8)
        • Pet Shopping Mall GUI Project (10)
      • etc. (0)
  • 블로그 메뉴

    • Home
    • Write
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    cs
    errorNote
    면접
    HTML
    jQuery
    SWAGGER
    개발일지
    vuejs
    php
    SQL
    티스토리챌린지
    Android
    Wordpress
    C#
    http
    tailwindcss
    git
    CSS
    Hotkeys
    SEO
    java
    zapier
    js
    SpringBoot
    Swing
    jsp
    typeScript
    오블완
    Codeigniter
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
스응
[Java/Swing] paint 메서드 : 도형, 이미지, 문자열 그리기
상단으로

티스토리툴바