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 |