먼저 JFrame을 만들어주도록 하겠습니다.
혹시 JFrame을 만드는 법을 잘 모르시겠다면 JFrame 만드는 법을 읽고 와주세요!!
package gui;
import javax.swing.JFrame;
public class JFrameTest1 {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setTitle("JFrame 연습1");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocation(200, 200);
frame.setSize(500, 300);
frame.setVisible(true);
}
}
이제 JFrame에 사진을 넣어보도록 하겠습니다.
프로젝트 우클릭 -> New -> Source Folder를 눌러 소스 폴더를 생성해줍니다.
이제 이 이미지 폴더 안에 사진을 넣어주면 됩니다!
//사진 넣기
JLabel lb1 = new JLabel(" ", JLabel.CENTER); //가운데로 수평정렬
ImageIcon icon = new ImageIcon("imgs/chunsick!.jpg");
lb1.setIcon(icon);
frame.add(lb1);
위의 코드를 하나씩 설명해드리겠습니다.
JLabel lb1 = new JLabel(" ", JLabel.CENTER);
: 빈 텍스트로 초기화된 JLabel을 생성합니다. JLabel은 사용자에게 텍스트 또는 아이콘을 보여주는 컴포넌트입니다. " "
는 빈 문자열로 초기화되었으며, JLabel.CENTER
는 텍스트를 가운데로 수평 정렬하는 옵션을 설정합니다.
ImageIcon icon = new ImageIcon("imgs/chunsick!.jpg");
: "imgs/chunsick!.jpg" 경로에 있는 이미지 파일로부터 ImageIcon 객체를 생성합니다. ImageIcon은 이미지를 표시하는 데 사용되는 클래스입니다.
lb1.setIcon(icon);
: 앞서 생성한 ImageIcon 객체를 JLabel에 설정하여 JLabel에 이미지를 표시합니다.
frame.add(lb1);
: JLabel을 JFrame인 frame
에 추가합니다. 이렇게 하면 JLabel이 프레임에 표시되게 됩니다.
저는 춘식이 사진을 넣어주었습니다. 사진이 잘 나왔네요!
package gui;
import javax.swing.JFrame;
//JFrame 클래스
public class JFrameTest2 extends JFrame {
public JFrameTest2() {
setTitle("JFrame 상속 연습"); //JFrame. 필요없음 -> 상속받았기 때문
setDefaultCloseOperation(EXIT_ON_CLOSE); //무조건 있어야함 끝내는것
setLocation(200, 200); //x, y 좌표 /위치
setSize(500, 300); //너비 높이 길이 설정 /크기
setVisible(true);
}
public static void main(String args[]) {
new JFrameTest2();
}
}
상속을 받아 코드를 작성해주었습니다.
ImageIcon icon = new ImageIcon("imgs/chunsick!.jpg");
JLabel lb1 = new JLabel(icon, JLabel.CENTER);
add(lb1);
ImageIcon icon = new ImageIcon("imgs/chunsick!.jpg");
: "imgs/chunsick!.jpg" 경로에 있는 이미지 파일로부터 ImageIcon 객체를 생성합니다.
JLabel lb1 = new JLabel(icon, JLabel.CENTER);
: 앞서 생성한 ImageIcon 객체를 이용하여 JLabel을 생성합니다. 생성자의 첫 번째 매개변수로 이미지 아이콘을 전달하고, 두 번째 매개변수로 JLabel.CENTER
를 전달하여 이미지를 가운데로 수평 정렬하는 옵션을 설정합니다.
add(lb1);
: 앞서 생성한 JLabel(lb1
)을 현재 컴포넌트에 추가합니다. 이 코드가 JFrame 클래스 내부에서 사용된다고 가정하면, JFrame에 JLabel이 추가되어 이미지가 JFrame에 표시됩니다.
상속 받는 코드가 더 간결하다는 것을 볼 수 있습니다!