JAVA

이미지 올려보기

jiyoon12 2025. 4. 28. 16:07
package _swing;

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

public class MyImageFrame extends JFrame {

    private MyImagePanel myImagePanel;

    public MyImageFrame() {
        iniData();
        setInitLayout();
    }

    private void iniData() {
        setTitle("이미지 넣어보는 연습");
        setSize(600, 600);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);

        myImagePanel = new MyImagePanel();
    }

    private void setInitLayout() {
        add(myImagePanel);
    }

    // 정적 내부 클래스
    static class MyImagePanel extends JPanel {
        // 내부 클래스의 멤버 변수 선언
        private Image image;
        private Image image1;
        private Image image2;
        private Image image3;

        // 내부 클래스 생성자
        public MyImagePanel() {
            // ImageIcon 데이터 타입을 -> .getImage() 메서드를 호출해서 형 변환 -> Image
            // ImageIcon(파일명) <--- 기준은 루트폴더 java_useful 아래를 확인 한다.
            image = new ImageIcon("image1.png").getImage();
            image1 = new ImageIcon("image2_rm.png").getImage();
            image2 = new ImageIcon("image3.png").getImage();
            image3 = new ImageIcon("image4.png").getImage();
        }

        // 자동으로 호출되게끔 순서가 정해져 있다.
        @Override
        public void paint(Graphics g) {
            super.paint(g);
            // 이미지를 올려보자.
            g.drawImage(image, 100, 100, 100, 100, null);
            g.drawImage(image1, 100, 200, 200, 200, null);
            g.drawImage(image2, 200, 200, 300, 300, null);
            g.drawImage(image3, 400, 200, 100, 100, null);
        }

    } // end of static inner class

    // 테스트 코드
    public static void main(String[] args) {
        new MyImageFrame();
    }
}

\

'JAVA' 카테고리의 다른 글

swing 이벤트 리스너(ActionListener)  (0) 2025.04.29
이미지 겹쳐보는 방법  (0) 2025.04.29
패널 이용해서 집 만들기  (0) 2025.04.28
패널 사용해보기  (0) 2025.04.28
좌표값으로 컴포넌트 배치하기  (0) 2025.04.28