[java]자바 스윙 키보드, 마우스 이벤트

Java swing Event

1. 자바 스윙 창을 만든다 아래 링크 참고.

[JAVA] - java swing 창 만들기

2. 버튼을 만든다.(이미지는 나중에)

3. 키 이벤트를 만든다.

java swing 썸네일

자바 스윙 키보드, 마우스 이벤트 코드.

아래 있는 코드를 txt파일로 저장해놓았습니다.

blog패키지의 Event클래스에 만들었습니다.

이벤트.txt
다운로드

아래는 전체 코드입니다.

package blog;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JButton;
import javax.swing.JFrame;

public class Event extends JFrame{
	
	public Event() {
		// TODO 자동 생성된 생성자 스텁
		setTitle("이벤트");// 타이틀 
		setSize(1280,720); //창의 크기
		setVisible(true); //창이 화면에 보이게 해줌
		setResizable(false); //창의 크기를 변경하지 못하게 해줌
		setLocationRelativeTo(null); // 창을 실행할때 가운데 나타나게 해줌
		JButton b1=new JButton("움직이는 버튼"); //버튼을 하나 만듬
		setLayout(null);
		/*버튼이 움직이게 해줌*/
		addKeyListener(new KeyAdapter() { //키 이벤트
			@Override
			public void keyPressed(KeyEvent e) { //키 눌렀을때
				// TODO Auto-generated method stub
				switch (e.getKeyCode()) {//키 코드로 스위치
				case KeyEvent.VK_DOWN: //방향키(아래) 눌렀을때
					b1.setLocation(b1.getX(), b1.getY()+10);
					break;
				case KeyEvent.VK_UP: //방향키(위)눌렀을때
					b1.setLocation(b1.getX(), b1.getY()-10);
					break;
				case KeyEvent.VK_LEFT:// 방향키(왼)눌렀을때
					b1.setLocation(b1.getX()-10, b1.getY());
					break;
				case KeyEvent.VK_RIGHT:// 방향키(오른)눌렀을때
					b1.setLocation(b1.getX()+10, b1.getY());
					break;
				default:
					break;
				}
			}
		});
		b1.addMouseListener(new MouseAdapter() { // 마우스 이벤트
			@Override
			public void mouseEntered(MouseEvent e) { // 마우스 들어왔을때
			}

			@Override
			public void mouseExited(MouseEvent e) { // 마우스 나왔을때
			}

			@Override
			public void mousePressed(MouseEvent e) { // 클릭했을때
				System.exit(0);
			}
		});
		b1.setBounds(0, 0, 150, 30); //버튼의 크기 위치 지정
		add(b1); //버튼을 프레임에 추가
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//창이 정상적으로 종료되게 해줌
	}
	public static void main(String[] args) {
		new Event(); //실행
	}
}

자바 키보드 이벤트.

스위치문을 사용해서 정해진 키를 누르면 정해진 명령을 수행합니다.

그 예로 아래의 코드중 방향키 아래를 누르면 y축 방향으로 10만큼 내려갑니다.

switch(e.getKeyCode()){

case KeyEvent.VK_DOWN: //방향키(아래) 눌렀을때
         b1.setLocation(b1.getX(), b1.getY()+10);
         break;
case KeyEvent.VK_UP: //방향키(위)눌렀을때
         b1.setLocation(b1.getX(), b1.getY()-10);
         break;
case KeyEvent.VK_LEFT:// 방향키(왼)눌렀을때
         b1.setLocation(b1.getX()-10, b1.getY());
         break;
case KeyEvent.VK_RIGHT:// 방향키(오른)눌렀을때
         b1.setLocation(b1.getX()+10, b1.getY());
         break;
default:
         break;

}

귀찮아서 아래 사진을 대충만들기는 했지만 보실만 할겁니다. (아래 720앞은 y입니다 살짝 짤렸네요.)

아래 사진은 좌표인데 왼쪽 맨끝부분이 x=0 이고 y=0입니다.

그러니 버튼을 오른쪽으로 옮기고 싶다면 x의 값을 올리면 되고 버튼을 아래로 내리고 싶다면 y의 값을 내리면 되는 것 입니다.

스윙 화면 크기

자바 마우스 이벤트.

이건 뭐 키 이벤트만 하기도 뭐해서 넣었습니다.

움직이는 버튼에 System.exit(0); <<--종료를 넣어서 버튼을 클릭하면 프로그램이 꺼지게 됩니다.

코드 실행

뭐 별거는 아니고 위의 코드를 실행하면 이렇게 나온다는 겁니다.

Designed by JB FACTORY