Contents
캐릭터 추가하기프로젝트 최상단에
image
sound
폴더를 생성합니다.
이제 이미지와 사운드 파일을 넣습니다.
레파지토리를 다운 받아

이미지와 사운드를 붙여넣은 다음
Frame
을 작성합니다.package bubble.test.ex02;
import javax.swing.JFrame;
public class BubbleFrame extends JFrame {
public BubbleFrame() {
setSize(1000, 640);
setLayout(null); // absoulte 레이아웃 (자유롭게 그림을 그릴 수 있다.)
setLocationRelativeTo(null); // JFrame 가운데 배치
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // x버튼으로 창을 끌 때 JVM 같이 종료
setVisible(true);
}
public static void main(String[] args) {
new BubbleFrame();
}
}
Label 은 만들어 졌으나 크기가 지정 되지 않아 화면에서는 보이지 않음.
package bubble.test.ex02;
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("안녕");
add(backgroundMap); // JFrame 에 JLabel 이 그려진다.(add 만으로는 크기가 없어서 안보임)
}
private void initSetting() {
setSize(1000, 640);
getContentPane().setLayout(null); // absoulte 레이아웃 (자유롭게 그림을 그릴 수 있다.)
setLocationRelativeTo(null); // JFrame 가운데 배치
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // x버튼으로 창을 끌 때 JVM 같이 종료
}
public static void main(String[] args) {
new BubbleFrame();
}
}

이렇게 사이즈와 위치를 추가해 주면 화면에 나타난다.
private void initObject() {
backgroundMap = new JLabel("안녕");
backgroundMap.setSize(100, 100);
backgroundMap.setLocation(300,300);
add(backgroundMap);
}

이러한 방법으로 이미지도 넣을 수 있습니다.
이미지를 넣은 다음 디자인에 가서 확인 해 보면
getContentPane()
하위에 이미지가 들어간 것을 확인할 수 있습니다.그러나 전체를 차지하는 이미지를 panel 내부에 넣을 이유가 없기 때문에 JFrame 내부에 바로 이미지를 설정해 주도록 하겠습니다.
private void initObject() {
backgroundMap = new JLabel(new ImageIcon("image/backgroundMap.png"));
backgroundMap.setSize(1000, 600);
add(backgroundMap);
}


private void initObject() {
backgroundMap = new JLabel(new ImageIcon("image/backgroundMap.png"));
setContentPane(backgroundMap);
}
캐릭터 추가하기
package bubble.test.ex02;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
public class Player extends JLabel {
private int x;
private int y;
private ImageIcon playerR, playerL;
public Player() {
initObject();
initSetting();
}
private void initObject() {
playerR = new ImageIcon("image/playerR.png");
playerL = new ImageIcon("image/playerL.png");
}
private void initSetting() {
x = 55;
y = 535;
}
}
아까 만든 Frame 이 JLabel 이고, 플레이어는 그를 상속받기 때문에 바로 사이즈와 위치를 지정해 줍니다.
private void initSetting() {
x = 55;
y = 535;
this.setIcon(playerR);
setSize(50, 50);
setLocation(x, y);
}
그리고 프레임으로 돌아가 플레이어를 추가합니다. 그리고 실행 시켜보면 플레이어가 추가되어 있는 것을 볼 수 있습니다.
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"));
setContentPane(backgroundMap);
player = new Player();
add(player);
}

Share article