package bubble.text01;
public interface Moveable {
//public abstract 생략가능
void left();
void right();
void up();
void down();
}
package bubble.text01;
import javax.imageio.ImageIO;
import javax.swing.*;
public class Player extends JLabel implements Moveable {
private int x;
private int y;
private ImageIcon playerR;
private ImageIcon playerL;
public Player() {
initData();
setINitLayout();
}
private void initData() {
playerR = new ImageIcon("img/playerR.png");
playerL = new ImageIcon("img/playerL.png");
}
private void setINitLayout() {
x = 55;
y = 535;
setSize(50, 50);
setIcon(playerR);
setLocation(x, y);
}
@Override
public void left() {
System.out.println("player left() 메서드 호출 됨");
}
@Override
public void right() {
System.out.println("player right() 메서드 호출 됨");
}
@Override
public void up() {
System.out.println("player up() 메서드 호출 됨");
}
@Override
public void down() {
}
}
package bubble.text01;
import javax.swing.*;
public class BubbleFrame extends JFrame {
private JLabel backgroudMap;
private Player player;
public BubbleFrame() {
initData();
setInitLayout();
addEventListeren();
}
private void initData() {
setTitle("버블버블게임");
setSize(1000, 640);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
backgroudMap = new JLabel(new ImageIcon("img/backgroundMap.png"));
//루트 패널에 JLable 을 넣어 보기
setContentPane(backgroudMap);
player = new Player();
}
private void setInitLayout() {
setLayout(null); // 좌표기준(absolut)(절대 레이아웃)
setResizable(false);//리사이즈 조절 막기
setLocationRelativeTo(null);// JFrame 을 화면 가운데 배치
add(player);
setVisible(true);
}
private void addEventListeren() {
}
public static void main(String[] args) {
new BubbleFrame();
}
}
'swing' 카테고리의 다른 글
(JAVA)bubble - 3 (왼쪽, 오른쪽 벽 감지하기) (0) | 2025.05.01 |
---|---|
(JAVA) Bubble Game-2(플레이어 움직이기) (0) | 2025.05.01 |
(JAVA)Swing (Thread 활용) (1) | 2025.05.01 |
(java)로또 게임 만들어 보기 - 10 (0) | 2025.04.30 |
(JAVA)Swing Key Listener - 9 (0) | 2025.04.29 |