Java/Java.Swing

Swing - 3 (이미지 올리기)

H_u 2024. 4. 29. 16:36
728x90
반응형
SMALL

💡 ImageIcon 을 활용한 이미지를 사용하는 방법

 

: 다운로드 받은 이미지 파일들

 

package ch03;

 

import java.awt.Graphics;

 

public class MyImageFrame extends JFrame {

 

// 내부 클래스로 정의한 데이터 타입 이다.

private MyImagePanel myImagePanel;

 

public MyImageFrame() {

initData();

setInitLayout();

}

 

private void initData() {

setTitle("이미지활용 연습");

setSize(600, 600);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 

myImagePanel = new MyImagePanel();

}

 

private void setInitLayout() {

add(myImagePanel);

setVisible(true);

 

 

Timer timer = new Timer(100, new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

myImagePanel.repaint();

}

});

timer.start();

}

 

// 내부 클래스 --> static 키워드 활용

// 정적(static) 내부 클래스라고 한다.

static class MyImagePanel extends JPanel {

private Image image;

private Image image2;

private Image image3;

private Image image4;

 

public MyImagePanel() {

// ImageIcon 데이터 타입 안에 getImage 라는 메서드를 호출하면

// image 데이터 타입을 만들어 낼 수 있다.

image = new ImageIcon("1.png").getImage();

image2 = new ImageIcon("2.png").getImage();

image3 = new ImageIcon("3.gif").getImage();

image4 = new ImageIcon("4.gif").getImage();

}

 

// paints --> x

// print --> x

// paint --> o

@Override

public void paint(Graphics g) {

// TODO Auto-generated method stub

super.paint(g);

g.drawImage(image, 100, 100, 200, 100, null);

g.drawImage(image2, 200, 200, 200, 100, null);

g.drawImage(image3, 300, 300, 200, 100, null);

g.drawImage(image4, 400, 100, 200, 100, null);

}

 

}

 

}

 

package ch03;

 

public class MyImageFrameMainTest {

 

public static void main(String[] args) {

 

new MyImageFrame();

}

 

}

결과물이다!

 

728x90
반응형
SMALL

'Java > Java.Swing' 카테고리의 다른 글

Swing - 6 (Key Listener)  (0) 2024.04.30
Swing - 5 (이벤트 리스너)  (0) 2024.04.29
Swing - 4 (이미지 겹치는 방법)  (0) 2024.04.29
Swing2  (0) 2024.04.26
SWING  (0) 2024.04.25