본문 바로가기

JAVA

이벤트(Event) 기본 실습(마우스 리스너 구현 5가지)

1

//Inner Annoymous Class 구현

import java.awt.BorderLayout;

import java.awt.FlowLayout;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

 

import javax.swing.JButton;

import javax.swing.JFrame;

 

public class EventEx01 extends JFrame {

 

        public EventEx01(){          

               this.setTitle("프레임 타이틀입니다");

               this.setBounds(100, 100, 400, 400);

              

               JButton btn1 = new JButton("North");

               JButton btn2 = new JButton("South");

               JButton btn3 = new JButton("East");

               JButton btn4 = new JButton("West");

               JButton btn5 = new JButton("Center");

              

               //Inner Annoymous 생성방식 사용

               btn1.addMouseListener(new MouseListener() {

                      

                       @Override

                       public void mouseReleased(MouseEvent e) {

                       }

                      

                       @Override

                       public void mousePressed(MouseEvent e) {

                       }

                      

                       @Override

                       public void mouseExited(MouseEvent e) {     

                              System.out.println("mouseExited");

                       }

                      

                       @Override

                       public void mouseEntered(MouseEvent e) {

                              System.out.println("mouseEntered");

                       }

                      

                       @Override

                       public void mouseClicked(MouseEvent e) {

                              System.out.println("mouseClicked");

                       }

               });

 

                      

               this.add(btn1,BorderLayout.NORTH);

               this.add(btn2,BorderLayout.SOUTH);

               this.add(btn3,BorderLayout.EAST);

               this.add(btn4,BorderLayout.WEST);

               this.add(btn5,BorderLayout.CENTER);                 

        }

       

        public static void main(String[] args) {

               // TODO Auto-generated method stub

               EventEx01 frame = new EventEx01();

               frame.setVisible(true);

 

        }

}

 

 

 

 

 

2.

//Inner Class 구현

import java.awt.BorderLayout;

import java.awt.FlowLayout;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

 

import javax.swing.JButton;

import javax.swing.JFrame;

 

public class EventEx02 extends JFrame {

 

        public EventEx02(){          

               this.setTitle("프레임 타이틀입니다");

               this.setBounds(100, 100, 400, 400);

              

               JButton btn1 = new JButton("North");

               JButton btn2 = new JButton("South");

               JButton btn3 = new JButton("East");

               JButton btn4 = new JButton("West");

               JButton btn5 = new JButton("Center");

              

               btn1.addMouseListener(new MouseHandler());

               btn2.addMouseListener(new MouseHandler());

               btn3.addMouseListener(new MouseHandler());

               btn4.addMouseListener(new MouseHandler());

               btn5.addMouseListener(new MouseHandler());

                      

               this.add(btn1,BorderLayout.NORTH);

               this.add(btn2,BorderLayout.SOUTH);

               this.add(btn3,BorderLayout.EAST);

               this.add(btn4,BorderLayout.WEST);

               this.add(btn5,BorderLayout.CENTER);  

              

        }

       

        //Inner Class : 버튼 핸들러에 대한 메서드들을 하나의 클래스 안에 정의

        class MouseHandler implements MouseListener{

 

               @Override

               public void mouseClicked(MouseEvent e) {

                       System.out.println("mouseClicked");

                      

                       JButton button = (JButton)e.getSource();

                       System.out.println(button.getText()); //getText : 버튼의 라벨값

               }

 

               @Override

               public void mouseEntered(MouseEvent e) {

               }

 

               @Override

               public void mouseExited(MouseEvent e) {

               }

 

               @Override

               public void mousePressed(MouseEvent e) {

               }

 

               @Override

               public void mouseReleased(MouseEvent e) {

               }

              

        }

       

        public static void main(String[] args) {

               // TODO Auto-generated method stub

               EventEx02 frame = new EventEx02();

               frame.setVisible(true);

 

        }

}

 

 

 

 

3

//상속으로 구현

import java.awt.BorderLayout;

import java.awt.FlowLayout;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

 

import javax.swing.JButton;

import javax.swing.JFrame;

 

public class EventEx03 extends JFrame implements MouseListener {

 

        public EventEx03(){          

               this.setTitle("프레임 타이틀입니다");

               this.setBounds(100, 100, 400, 400);

              

               JButton btn1 = new JButton("North");

               JButton btn2 = new JButton("South");

               JButton btn3 = new JButton("East");

               JButton btn4 = new JButton("West");

               JButton btn5 = new JButton("Center");

              

               btn1.addMouseListener(this);

               btn2.addMouseListener(this);

               btn3.addMouseListener(this);

               btn4.addMouseListener(this);

               btn5.addMouseListener(this);

                      

               this.add(btn1,BorderLayout.NORTH);

               this.add(btn2,BorderLayout.SOUTH);

               this.add(btn3,BorderLayout.EAST);

               this.add(btn4,BorderLayout.WEST);

               this.add(btn5,BorderLayout.CENTER);  

              

        }

       

 

       

        @Override

        public void mouseClicked(MouseEvent e) {

               System.out.println("마우스 클릭3");

               JButton button = (JButton)e.getSource();

               System.out.println(button.getText());

       

        }

 

 

 

        @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) {

               // TODO Auto-generated method stub

              

        }

 

 

 

        @Override

        public void mouseReleased(MouseEvent e) {

               // TODO Auto-generated method stub

              

        }

 

 

 

        public static void main(String[] args) {

               // TODO Auto-generated method stub

               EventEx03 frame = new EventEx03();

               frame.setVisible(true);

 

        }

}

 

 

 

 

4

마우스 리스너 클래스


import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

 

import javax.swing.JButton;

 

        class MouseHandlerClass implements MouseListener{

 

               @Override

               public void mouseClicked(MouseEvent e) {

                       System.out.println("마우스 클릭");

                      

                       JButton button = (JButton)e.getSource();

                       System.out.println(button.getText());

               }

 

               @Override

               public void mouseEntered(MouseEvent e) {

               }

 

               @Override

               public void mouseExited(MouseEvent e) {

               }

 

               @Override

               public void mousePressed(MouseEvent e) {

               }

 

               @Override

               public void mouseReleased(MouseEvent e) {

               }

}


 

 

 

 

 


//외부 Class 구현

import java.awt.BorderLayout;

import java.awt.FlowLayout;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

 

import javax.swing.JButton;

import javax.swing.JFrame;

 

public class EventEx04 extends JFrame {

 

        public EventEx04(){          

               this.setTitle("프레임 타이틀입니다");

               this.setBounds(100, 100, 400, 400);

              

               JButton btn1 = new JButton("North");

               JButton btn2 = new JButton("South");

               JButton btn3 = new JButton("East");

               JButton btn4 = new JButton("West");

               JButton btn5 = new JButton("Center");

              

               btn1.addMouseListener(new MouseHandlerClass());

               btn2.addMouseListener(new MouseHandlerClass());

               btn3.addMouseListener(new MouseHandlerClass());

               btn4.addMouseListener(new MouseHandlerClass());

               btn5.addMouseListener(new MouseHandlerClass());

                      

               this.add(btn1,BorderLayout.NORTH);

               this.add(btn2,BorderLayout.SOUTH);

               this.add(btn3,BorderLayout.EAST);

               this.add(btn4,BorderLayout.WEST);

               this.add(btn5,BorderLayout.CENTER);  

              

        }

       

        public static void main(String[] args) {

               // TODO Auto-generated method stub

               EventEx04 frame = new EventEx04();

               frame.setVisible(true);

 

        }

}


 

 

 

 

 

5

import java.awt.BorderLayout;

import java.awt.FlowLayout;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

 

import javax.swing.JButton;

import javax.swing.JFrame;

 

public class EventEx05 extends JFrame {

 

        public EventEx05(){          

               this.setTitle("프레임 타이틀입니다");

               this.setBounds(100, 100, 400, 400);

              

               JButton btn1 = new JButton("North");

               JButton btn2 = new JButton("South");

               JButton btn3 = new JButton("East");

               JButton btn4 = new JButton("West");

               JButton btn5 = new JButton("Center");

              

 

               btn1.addMouseListener(new MouseAdapter() {

 

                       public void mouseClicked(MouseEvent e) {

                              super.mouseClicked(e);

                              System.out.println("mouseClicked");

                       }

               });

              

               this.add(btn1,BorderLayout.NORTH);

               this.add(btn2,BorderLayout.SOUTH);

               this.add(btn3,BorderLayout.EAST);

               this.add(btn4,BorderLayout.WEST);

               this.add(btn5,BorderLayout.CENTER);                 

        }

       

        public static void main(String[] args) {

               // TODO Auto-generated method stub

               EventEx05 frame = new EventEx05();

               frame.setVisible(true);

 

        }

}

'JAVA' 카테고리의 다른 글

JOptionPane 기본 실습 -메세지창 띄우기  (0) 2013.02.07
[실습]주민등록번호 검사기 -GUI구현  (0) 2013.02.06
JFrame 기본 실습 -버튼달기  (0) 2013.02.06
JFrame 기본 실습  (0) 2013.02.06
스레드 관련 강의자료 (pdf)  (0) 2013.02.06