반응형
10장도 거의 마무리 되가네요 굴직한 문제가 뒤에서 떡하니 버티고 있기는 한데, 금방 해결할 수 있겠죠....
저한테는 구글이 있으니깐요 ㅋㅋㅋㅋ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class MoveCar extends JFrame { // button의 좌표를 설정할 값이다. int img_x = 150, img_y = 150; JButton button; public MoveCar() { // Frame의 사이즈 설정, 버튼 객체와 이미지 객체를 생성했다. setSize(600, 300); button = new JButton(""); ImageIcon icon = new ImageIcon("d:/이미지/자동차.PNG"); // button에 이미지 버튼을 삽입한다. button.setIcon(icon); // panel 객체 생성 및 layout을 null로 한다. JPanel panel = new JPanel(); panel.setLayout(null); // button의 좌표값과 사이즈를 설정한다. button.setLocation(img_x, img_y); button.setSize(200, 100); // 버튼을 panel에 추가해주고 panel에 focus를 준다. panel.add(button); panel.requestFocus(); panel.setFocusable(true); // panel과 KeyListener 객체와 이어준다. panel.addKeyListener(new KeyListener() { public void keyPressed(KeyEvent e) { // 키를 입력했을 때의 코드값을 반환해서 keycode와 바인딩해준다. int keycode = e.getKeyCode(); // 창 닫기 기능을 구현하기 위한 메소드이다. char keyChar = e.getKeyChar(); // switch문에 따라 좌표값이 실시간으로 수정이된다. switch (keycode) { case KeyEvent.VK_UP: img_y -= 10; break; case KeyEvent.VK_DOWN: img_y += 10; break; case KeyEvent.VK_LEFT: img_x -= 10; break; case KeyEvent.VK_RIGHT: img_x += 10; break; } button.setLocation(img_x, img_y); //q를 누르면 창닫기 기능을 수행한다. if (keyChar == 'q') { dispose(); } } public void keyReleased(KeyEvent arg0) { } public void keyTyped(KeyEvent arg0) { } }); add(panel); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { MoveCar f = new MoveCar(); } } | cs |
반응형
'It Study > POWER JAVA(기본서)' 카테고리의 다른 글
POWER JAVA 10장 예제 11-1 label 및 font 변경 (0) | 2022.11.09 |
---|---|
POWER JAVA 10장 mini project GUI 활용 계산기 (일부 기능만) -재수정 (0) | 2022.11.07 |
POWER JAVA 10장 Lab1 가위,바위,보 게임 (주석) (0) | 2022.11.02 |
POWER JAVA 10장 LAB 키패드 만들기 (주석) (0) | 2022.11.02 |
POWER JAVA 9장 프로그래밍 1번 문제 ~2번 문제 (0) | 2022.11.01 |