YeaLow
article thumbnail

JPanel - 이미지

JLabel - 캐릭터

리스너는 키보드를 주시한다

 

이벤트루프 처리 -> 이벤트 핸들러가 존재한다

이벤트루프가 종료 하려면 이벤트 핸들러가 종료 되어야 함

키보드 프레스가 눌러지면 리스너가 감지 대기열 Que에 들어간다  -> 대기항목이 이벤트 루프에 들어가면 핸들러가 동작

 

 

ex ) Main Thread 이벤트 리스너 감지해서 대기열(Que)등록하는 역할 (Bubble Frame 키보드 입력 받기)

      sub 1 Left 이벤트 핸들러 , sub 2 Right 이벤트 핸들러.... 등등

 

addKeyListener(new KeyAdapter() { // 람다식으로 Interface를 가져올시 전부 기능을 정의 해야함 하지만 Adapter를 사용해서 정의가 가능하다
			// 키보드 클릭 이벤트 핸들러
			@Override
			public void keyPressed(KeyEvent e) {


				switch (e.getKeyCode()) {
				case KeyEvent.VK_LEFT:
					if (!player.isLeft() && !player.isLeftWallCrash()) {
						player.left();	// 5초
					}
					break;
				case KeyEvent.VK_RIGHT:
					if (!player.isRight() && !player.isRightWallCrash()) {
						player.right(); // 3초
					}
					break;
				case KeyEvent.VK_UP:
					if (!player.isUp() && !player.isDown()) {
						player.up();
					}
					break;
//				case KeyEvent.VK_DOWN: 떨어지거나 할때 사용하는데 따로 down키를 눌릴 일이 없다
//					player.down(); 
//					break;
				}
                // 5 + 3초 8초가 지날때까지 다른입력이 안된다

Thread가 여러개 있어야 동시동작이 가능해 진다

profile

YeaLow

@YeaLow

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