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(450, 220); setLocation(400, 200); // 합친게 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
객체화시켰음.