본문 바로가기
Java 강의

자바 이벤트 객체

by 자유코딩 2017. 11. 1.

이벤트 객체

이벤트가 발생 될 때, 발생한 이벤트에 관한 정보를 가진 객체

이벤트 리스너에 전달

이벤트 리스너 코드에서는 이벤트가 발생한 상황에 대한 정보를 파악 가능하다

 

이벤트의 분류

모든 컴포넌트가 지원하는 이벤트

mouse event , mouse motion , key

일부 컴포넌트가 지원하는 이벤트

action , change , caret

action event : 사용자가 어떤 동작을 하는 경우 발생

사용자가 버튼을 클릭한 경우

사용자가 항목을 선택한 경우

사용자가 텍스트 필드에서 엔터키를 누르는 경우

 

이벤트 객체의 예제

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package EventListener;
 
import java.awt.Color;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
/*
 * 액션이벤트
 */
public class EventListener extends JFrame {
    JButton button1, button2;
    JPanel panel;
    public EventListener() {
        setSize(500,500);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setTitle("action event example");
        panel = new JPanel();
        JButton button1 = new JButton("노란색");
        JButton button2 = new JButton("핑크색");
        button1.addMouseListener(new MouseListener() {
            @Override
            public void mouseReleased(MouseEvent e) {}
            @Override
            public void mousePressed(MouseEvent e) {}
            @Override
            public void mouseExited(MouseEvent e) {}
            @Override
            public void mouseEntered(MouseEvent e) {}
            @Override
            public void mouseClicked(MouseEvent e) {
                panel.setBackground(new Color(2552550));
            }
        });
        button2.addMouseListener(new MouseListener() {
            @Override
            public void mouseReleased(MouseEvent e) {}
            @Override
            public void mousePressed(MouseEvent e) {}
            @Override
            public void mouseExited(MouseEvent e) {}
            @Override
            public void mouseEntered(MouseEvent e) {}
            @Override
            public void mouseClicked(MouseEvent e) {
                panel.setBackground(Color.PINK);
            }
        });;
        
        panel.add(button1);
        panel.add(button2);
        add(panel);
    }
    
    public static void main(String[] args) {
        new EventListener();
    }
}
cs

댓글