이미지 위치 확인
기본코드 확인
package ch03;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
/**
* 중첩 클래스 --> 외부,내부 클래스로
* 내부 클래스로 --> 인스턴스 클래스 , static 클래스
*/
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);
}
// 내부 클래스 --> static 키워드 활용
// 정적(static) 내부 클래스라고 한다.
static class MyImagePanel extends JPanel {
private Image image;
public MyImagePanel() {
// ImageIcon 데이터 타입 -> getImage() 메서드를 호출하면
// image 데이터 타입을 만들어 낼 수 있다.
image = new ImageIcon("image1.png").getImage();
}
@Override
public void paint(Graphics g) {
super.paint(g);
g.drawImage(image, 100, 100, 100, 100, null);
}
}
}
package ch03;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;
/**
* 중첩 클래스 --> 외부,내부 클래스로
* 내부 클래스로 --> 인스턴스 클래스, static 클래스
*/
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);
}
// 내부 클래스 --> static 키워드 활용
// 정적(static) 내부 클래스라고 한다.
static class MyImagePanel extends JPanel{
private Image image1;
private Image image2;
private Image image3;
public MyImagePanel() {
// ImageIcon 데이터 타입 --> getImage() 메서드를 호출하면
// image 데이터 타입을 만들어 낼 수 있다.
image1 = new ImageIcon("image1.png").getImage();
image2 = new ImageIcon("image2.png").getImage();
image3 = new ImageIcon("image3.png").getImage();
}
@Override
public void paint(Graphics g) {
super.paint(g);
g.drawImage(image1, 100, 100, 100, 100, null);
g.drawImage(image2, 260, 200, 300, 300, null);
g.drawImage(image3, 10, 220, 300, 300, null);
}
}
}
실행
package ch03;
public class MyImageMainTest {
public static void main(String[] args) {
new MyImageFrame();
}
}
'Java > Swing' 카테고리의 다른 글
Swing - 6 (Key Listener) (0) | 2024.04.30 |
---|---|
Swing - 5 (이벤트 리스너) (0) | 2024.04.29 |
Swing - 4 (이미지 겹치는 방법) (0) | 2024.04.29 |
Swing - 2 (0) | 2024.04.26 |
JAVA - Swing 프로젝트 (0) | 2024.04.25 |