티스토리 뷰


이 프로그램은 마우스가 클릭하는 곳으로 글자(레이블)을 이동시키는 기능을 가진다.



public class MouseAdapterEx extends JFrame {


JPanel contentPane = new JPanel();

JLabel la;


MouseAdapterEx() {

setTitle("Mouse");

setDefaultCloseOperation(EXIT_ON_CLOSE);

setContentPane(contentPane);

setLayout(null);


contentPane.addMouseListener(new MyMouseAdapter());

//패널에 리스너를 붙인다. 이너 클래스객체를 인자로 전달

la = new JLabel("Hello");

la.setSize(50, 20);

la.setLocation(30, 30);

contentPane.add(la);

setSize(200, 200);

setVisible(true);

}


public static void main(String[] args) {

// TODO Auto-generated method stub

new MouseAdapterEx();

}


class MyMouseAdapter extends MouseAdapter {

//리스너를 구현하는 대신에 어댑터를 상속받았다.

//어댑터는 2개 이상의 메소드를 가진 인터페이스의 이름과

//같은 이름으로 존재한다.

//인터페이스가 아니라 클래스이기 때문에

//반드시 구현할 필요 없이 사용하고자하는 메소드만 구현하면 된다.

public void mousePressed(MouseEvent e) {

int x = e.getX();

int y = e.getY();

la.setLocation(x, y);

}

}

}



'java,web study > 3주차 (7월 15일 ~21일)' 카테고리의 다른 글

KeyListenerEx  (0) 2013.07.19
Event Delegation  (0) 2013.07.19
InnerClassListener  (0) 2013.07.19
ListenerMouseEx  (0) 2013.07.19
ListenerSample  (0) 2013.07.19
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함