Java/Java Concept

[Java] EventHandler 정리

군우 2018. 3. 14. 15:14
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
package swingTest1;
 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class EventHandler {
 
    public static void main(String[] args){
        
        JFrame f1 = new MyJFrame("Title");            
    
        f1.setVisible(true); // 매개변수 ?
 
    }
}
 
class MouseEventHandler implements MouseListener
{
 
    @Override
    public void mouseClicked(MouseEvent e) {
        // TODO Auto-generated method stub
        JButton button1 = (JButton)e.getComponent();
        button1.setText("Clicked1");
        System.out.println("Clicked Button" + e.getComponent());
        System.out.println("눌렸다 풀림");
    }
 
    @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
        
    }
    
}
 
class MyJFrame extends JFrame implements MouseListener
{
    MyJFrame(String title){
        setTitle(title);
        setSize(450220);
        setLocation(400200); // 합친게 setBounds
        //f1.setBounds(400, 200, 450, 220);
        setLayout(new FlowLayout()); // 이거 무슨 의미.
        // FlowLayout에 레이아웃제어를 
        addMouseListener(this);   // jframe에 마우스
    // Lisner를 등록하는 과정     //this를 쓸 생각을 못햇음.
        
        JButton btn1 = new JButton("My Button");
        MouseListener m1 = new MouseEventHandler();
        btn1.addMouseListener(m1);
        this.add(btn1);
    
        
    }
 
    @Override
    public void mouseClicked(MouseEvent e) {
        // TODO Auto-generated method stub
        System.out.println("jframe 눌려졌다가 풀림");
    }
 
    @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
        
    }
}
cs


메인에서 하는  일을 최소화하여, 클래스를 나누어

class MyJFrame extends JFrame implements MouseListener

class MouseEventHandler implements MouseListener

 객체화시켰음.