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 참조)
  

 }

}

+ Recent posts