[GUI] JFram에 이미지 넣기

밤새·2023년 8월 1일
0

GUI

목록 보기
2/3
post-thumbnail
  • javax.swing.JFrame : 윈도우 창

이미지 넣기 1번째 방법

먼저 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);

위의 코드를 하나씩 설명해드리겠습니다.

  1. JLabel lb1 = new JLabel(" ", JLabel.CENTER);: 빈 텍스트로 초기화된 JLabel을 생성합니다. JLabel은 사용자에게 텍스트 또는 아이콘을 보여주는 컴포넌트입니다. " "는 빈 문자열로 초기화되었으며, JLabel.CENTER는 텍스트를 가운데로 수평 정렬하는 옵션을 설정합니다.

  2. ImageIcon icon = new ImageIcon("imgs/chunsick!.jpg");: "imgs/chunsick!.jpg" 경로에 있는 이미지 파일로부터 ImageIcon 객체를 생성합니다. ImageIcon은 이미지를 표시하는 데 사용되는 클래스입니다.

  3. lb1.setIcon(icon);: 앞서 생성한 ImageIcon 객체를 JLabel에 설정하여 JLabel에 이미지를 표시합니다.

  4. frame.add(lb1);: JLabel을 JFrame인 frame에 추가합니다. 이렇게 하면 JLabel이 프레임에 표시되게 됩니다.


저는 춘식이 사진을 넣어주었습니다. 사진이 잘 나왔네요!

이미지 넣기 2번째 방법

  • 이제 JFrame을 상속을 받아 사진을 넣어보겠습니다. 상속 받는 법에 대해 잘 모르시는 분은 JFrame 만드는 법을 읽고 와주세요!!
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);
  1. ImageIcon icon = new ImageIcon("imgs/chunsick!.jpg");: "imgs/chunsick!.jpg" 경로에 있는 이미지 파일로부터 ImageIcon 객체를 생성합니다.

  2. JLabel lb1 = new JLabel(icon, JLabel.CENTER);: 앞서 생성한 ImageIcon 객체를 이용하여 JLabel을 생성합니다. 생성자의 첫 번째 매개변수로 이미지 아이콘을 전달하고, 두 번째 매개변수로 JLabel.CENTER를 전달하여 이미지를 가운데로 수평 정렬하는 옵션을 설정합니다.

  3. add(lb1);: 앞서 생성한 JLabel(lb1)을 현재 컴포넌트에 추가합니다. 이 코드가 JFrame 클래스 내부에서 사용된다고 가정하면, JFrame에 JLabel이 추가되어 이미지가 JFrame에 표시됩니다.

상속 받는 코드가 더 간결하다는 것을 볼 수 있습니다!

profile
프로젝트를 통해 배운 개념이나 겪은 문제점들을 정리하고, 회고록을 작성하며 성장해나가는 곳입니다 😊

0개의 댓글