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 |