YeaLow
article thumbnail

bubble.test.ex02 패키지 추가

package bubble.test.ex02;

import javax.swing.JFrame;
import javax.swing.JLabel;

public class BubbleFrame extends JFrame{
	public BubbleFrame() {
		setSize(1000,640);
		getContentPane().setLayout(null);// absolute 레이아웃 (자유롭게 그림을 그릴 수 있다.)
		
		JLabel lblNewLabel = new JLabel("New label");
		lblNewLabel.setBounds(210, 268, 57, 15);
		getContentPane().add(lblNewLabel);
		setLocationRelativeTo(null); // JFrame 가운데 배치하기
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // x버튼으로 창을 끌 때 JVM 같이 종료 하기
		setVisible(true);
	}
	public static void main(String[] args) {
		new BubbleFrame();
		
	}
}

JFrame 기본 셋팅 

open With WindowBuilder Editor 실행

사용하는줄 알았는데 안쓰네요..

 

 


package bubble.test.ex02;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class BubbleFrame extends JFrame{
	private JLabel backgroundMap;
	public BubbleFrame() {
		initObject();
		initSetting();
		setVisible(true);
	}
	private void initObject() {
		backgroundMap = new JLabel(new ImageIcon("image/backgroundMap.png"));
//		backgroundMap.setSize(100,100);
//		backgroundMap.setLocation(300,300);
		backgroundMap.setSize(1000,600);
		add(backgroundMap);// JFrame에 JLabel이 그려진다.
	}
	
	private void initSetting() {
		setSize(1000,640);
		getContentPane().setLayout(null);// absolute 레이아웃 (자유롭게 그림을 그릴 수 있다.)
		setLocationRelativeTo(null); // JFrame 가운데 배치하기
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // x버튼으로 창을 끌 때 JVM 같이 종료 하기
	}
	public static void main(String[] args) {
		new BubbleFrame();
		
	}
}

 

문제는 Panel안에 contentPane으로 넣을 필요는 없다

package bubble.test.ex02;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class BubbleFrame extends JFrame{
	
	private JLabel backgroundMap;
	
	private Player player;
	
	public BubbleFrame() { // 생성자 만들기
		initObject();
		initSetting();
		setVisible(true);
	}
	private void initObject() {
		backgroundMap = new JLabel(new ImageIcon("image/backgroundMap.png")); //label 안에 이미지 넣음
		setContentPane(backgroundMap);
//		backgroundMap.setSize(100,100);
//		backgroundMap.setLocation(300,300);
//		backgroundMap.setSize(1000,600);
//		add(backgroundMap);// JFrame에 JLabel이 그려진다.
		
		player = new Player();	// Player함수를 호출하여 BubbleFrame에 추가한다
		add(player);
	}
	
	private void initSetting() {
		setSize(1000,640);
		setLayout(null);// absolute 레이아웃 (자유롭게 그림을 그릴 수 있다.)
		setLocationRelativeTo(null); // JFrame 가운데 배치하기
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // x버튼으로 창을 끌 때 JVM 같이 종료 하기
	}
	public static void main(String[] args) {
		new BubbleFrame();
		
	}
}

bubble.test.ex02 Class Player.java 추가

package bubble.test.ex02;

import javax.swing.ImageIcon;
import javax.swing.JLabel;

public class Player extends JLabel{ // player 자체가 label이다
	
	private int x;
	private int y;
	
	private ImageIcon playerR, playerL;	
	
	public Player() { 
		initObject();
		initSetting();
	
	}
	private void initObject() {
		playerR = new ImageIcon("image/playerR.png"); // 이미지 ImageIcon에 사진 추가
		playerL = new ImageIcon("image/playerL.png");
	}

	private void initSetting() { // 기본 시작 위치
		x = 55; 
		y = 535;
		
		setIcon(playerR);
		setSize(50,50);
		setLocation(x,y);
	}
	
}
profile

YeaLow

@YeaLow

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!