package pro0518;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class MTest{ //마우스 이동 테스트 생성자
//멤버 변수
JFrame f= new JFrame();
JPanel cp = new JPanel();
JLabel la = new JLabel();
//메소드
MTest() //객체를 초기화 하는 생성자
{
f.setTitle("마우스 이벤트 처리예제");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//프레임에 패널을 추가한다.
f.setContentPane(cp);
cp.setLayout(null); // flowlayout, carlayout, gridlayout....
cp.addMouseListener(new MYL());
//레이블을 패널에 올려놓는다.
la = new JLabel("JSO");
la.setSize(50, 20);
la.setLocation(30,30);
cp.add(la);
f.setSize(200, 200);
f.setVisible(true);
}
//키보드 실습 프로그램
MTest(int a)
{
f.setTitle("Key Code Exemple : F1키(초록색); : , 1 키(노란색)");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setContentPane(cp);
cp.addKeyListener(new MyKey());
la.setText("Text");
cp.add(la);
f.setSize(400, 200);
f.setVisible(true);
//컨텐트패널에 키 입력을 받을 수 있도록 위치 지정(포커스 강제 지정)
cp.requestFocus();
}
class MyKey implements KeyListener{
@Override
public void keyPressed(KeyEvent e) {
//키가 눌렸을때 처리할 내용
la.setText(KeyEvent.getKeyText(e.getKeyCode())+ "키가 입력되었다.");
if(e.getKeyCode() == KeyEvent.VK_1)
cp.setBackground(Color.YELLOW);
else if(e.getKeyCode() == KeyEvent.VK_F1)
cp.setBackground(Color.green);
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
}
public class MYL implements MouseListener {
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent e) {
//마우스를 눌렀을떄 처리할 내용을 쓴다.
int x=e.getX(); //x좌표를 가져온다.
int y=e.getY(); //y좌표를 가져온다.
la.setLocation(x,y); // x,y 좌표에 위치시킨다.
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
}
}
public class MouseTest {
public static void main(String[] args) {
MTest ob= new MTest(1); // MTest()을 넣으면 마우스 이벤트 실행. MTest(1)을 넣으면 키보드 이벤트 실행. (MTest 참조)
}
}
'IT > JAVA' 카테고리의 다른 글
[JAVA/자바] 2개의 정수와 연산자를 입력 받아 사칙 연산 수행하기(Switch & BufferedReader) (0) | 2018.08.05 |
---|---|
[JAVA/자바] 년(연)도를 입력 받아 윤년 혹은 평년 구하기 / 입력 받은 년(연)도의 윤년 발생 횟수 구하기(BufferedReader & IF) (0) | 2018.08.05 |
[JAVA/자바] 액션리스너를 이용한 클릭(이미지 변환) 예제 프로그램 (0) | 2017.06.05 |
[JAVA/자바] 방향키를 누를때마다 이미지가 10픽셀씩 이동되게 하는 프로그램 예제(KeyEvent/keyPressed) (0) | 2017.06.05 |
[JAVA/자바] 오목(Omok) 게임 예제 - 컴퓨터(Computer) Ai 판단 (0) | 2017.05.30 |