package ch04;

import java.awt.Graphics;
import java.awt.Image;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;

// JLable <-- String,Image()
public class MyImageFrame extends JFrame {

	imagePanel imagePanel;

	// JPanel안에 이미지를 넣는 방법!!
	// 내부클래스 이용해보기
	class imagePanel extends JPanel {

		private Image image;

		public imagePanel() {
			image = new ImageIcon("images.png").getImage();
		}

		@Override
		public void paint(Graphics g) {
			super.paint(g);
			// 대상 x,y,가로,세로,널
			g.drawImage(image, 0, 0, 400, 400, null);
		}

	}// end of inner class

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

	private void initDate() {
		setTitle("이미지연습");
		setSize(400, 400);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		imagePanel = new imagePanel();
	}

	private void setInitLayout() {
		add(imagePanel);
		setVisible(true);
	}
}
package ch04;

public class MainTest1 {

	public static void main(String[] args) {
		new MyImageFrame();
	}

}

package ch04;

import java.awt.Graphics;
import java.awt.Image;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class MyImageFrame2 extends JFrame {

	ImagePanel imagePanel;// 내부클래스 맴버 변수로 선언

	public MyImageFrame2() {
		initData();
		setIntiLayout();
	}

	private void initData() {
		setTitle("이미지연습");
		setSize(600, 600);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		imagePanel = new ImagePanel();
	}

	private void setIntiLayout() {
		add(imagePanel);
		setVisible(true);
	}

	// 정적 내부클래스
	static class ImagePanel extends JPanel {
		private Image image1;
		private Image image2;
		private Image image3;
		private Image image4;

		public ImagePanel() {
			image1 = new ImageIcon("images3.png").getImage();
			image2 = new ImageIcon("images4.png").getImage();
			image3 = new ImageIcon("images5.png").getImage();
			image4 = new ImageIcon("images6.png").getImage();
		}

		@Override
		public void paint(Graphics g) {
			super.paint(g);
			g.drawImage(image1, 220, 100, 70, 70, null);
			g.drawImage(image2, 130, 150, 70, 70, null);
			g.drawImage(image3, 150, 200, 200, 200, null);
			g.drawImage(image4, 250, 300, 200, 200, null);
		}
	}// end of inner class
}// end of outer class
package ch04;

public class MainTest1 {

	public static void main(String[] args) {
		new MyImageFrame2();
	}

}

저는 녹색 친구가 제일 귀옆다고 생각합니다 >< (찡긋)

'자바' 카테고리의 다른 글

try-catch 문  (0) 2023.02.21
예외 처리  (0) 2023.02.21
외부 클래스를 이용한 집만들기!  (1) 2023.02.21
외부 클래스 내부클래스를 이용 GUI  (0) 2023.02.21
Swing 을 이용한 GUI  (0) 2023.02.21

+ Recent posts