Java/Java.Swing

Swing bubble bubble Game 1

H_u 2024. 5. 2. 16:47
728x90
반응형
SMALL

package bubble.test.ex01;

 

import java.awt.event.KeyAdapter;

import java.awt.event.KeyEvent;

 

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() {

initData();

setInitLayout();

addEventListener();

}

 

private void initData() {

backgroundMap = new JLabel(new ImageIcon("img/backgroundMap.png"));

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// Frame --> root Panel

setContentPane(backgroundMap);

setSize(1000, 640);

 

player = new Player();

}

 

private void setInitLayout() {

// 좌표 값으로 배치

setLayout(null);

//setResizable(false); // 프레임 조절 불가

setLocationRelativeTo(null); // JFrame 여러분 모니터 가운데 자동 배치

setVisible(true);

 

add(player);

 

}

 

private void addEventListener() {

this.addKeyListener(new KeyAdapter() {

 

@Override

public void keyPressed(KeyEvent e) {

System.out.println("key code : " + e.getKeyCode());

 

switch (e.getKeyCode()) {

 

case KeyEvent.VK_LEFT:

player.left();

break;

case KeyEvent.VK_RIGHT:

// 구현

player.right();

break;

case KeyEvent.VK_UP:

// 구현

player.up();

break;

case KeyEvent.VK_DOWN:

player.down();

 

}

 

} // end of KeyPressed

});

 

}

 

public static void main(String[] args) {

new BubbleFrame();

}

}

 

package bubble.test.ex01;

 

import javax.swing.ImageIcon;

import javax.swing.JLabel;

 

public class Player extends JLabel implements Moveable {

 

private int x;

private int y;

private ImageIcon playerR, playerL;

 

public Player() {

initData();

setInitLayout();

}

 

private void initData() {

playerR = new ImageIcon("img/playerR.png");

playerL = new ImageIcon("img/playerL.png");

}

 

private void setInitLayout() {}

 

 

 

@Override

public void left() {

// TODO Auto-generated method stub

 

}

 

@Override

public void right() {

// TODO Auto-generated method stub

 

}

 

@Override

public void up() {

// TODO Auto-generated method stub

 

}

 

@Override

public void down() {

// TODO Auto-generated method stub

 

}

 

}

 

package bubble.test.ex01;

 

public interface Moveable {

// public abstract 생략 가능

public abstract void left();

public abstract void right();

public abstract void down();

public abstract void up();

 

}

 

728x90
반응형
SMALL