어떻게 구현할 수 있습니까? 여러 어셈블리에서 작동합니까? 그렇지 않다면 어떻게 작동시킬 수 있습니까?EventHandler와는 대조적으로 EventListener 란 무엇입니까?
답변
질문을 완전히 이해하지 못할 위험이 있으므로 다른 가능한 설명을 제공하고 싶습니다.
클래스에 대해 말하면 Java는 EventListener이고 .NET은 EventHandler입니다. 둘 다 같은 목적을 가지고 있습니다 : 이벤트 처리. 그러나 구현에는 차이가 있습니다. .NET의 이벤트 처리는 Java 이벤트 리스너보다 추상화 된 수준이라고 할 수 있습니다.
Java의 EventListener는 "모든 이벤트 수신기 인터페이스가 확장해야하는 태그 지정 인터페이스"(즉, MouseListener)입니다. .NET의 EventHandler는 이벤트를 처리하는 메서드에 대한 강력한 형식의 포인터 인 대리자입니다.
보다 광범위하게는 이벤트 수신기는 이벤트 처리를위한 인터페이스를 구현하는 개체이며 이벤트 처리기는 이벤트를 처리하는 메서드입니다. 일반적으로 이벤트 리스너는 Observer Design Pattern을 구현하고 이벤트 핸들러는 해당 패턴의 모든 배관을 숨 깁니다. 그러므로 event listener을 쓰는 것은 훨씬 더 복잡하고 event handler을 쓰는 것보다 더 구두가되는 경향이 있습니다.
더 나은 이해를 위해 Microsoft에서 Observer Design Pattern을 읽는 것이 좋습니다.
따라서 이벤트 핸들러를 구현하려면 처리 할 객체의 이벤트에 대리자를 지정하기 만하면됩니다. 나는. MyButton_Click이 방법
Button.Click += new EventHandler(MyButton_Click);
는 이벤트 핸들러의 서명이 (당신의 클래스 또는 다른 곳에서 할 수있다) 실제로 이벤트 리스너에서와 같은을 달성하기 위해
private void MyButton_Click(object sender, EventArgs e)
{
doSomething();
}
즉, 이벤트를 처리
public class MyClass
{
Button myButton;
MyClass()
{
...
myButton.addMouseListener(new ButtonHandler());
}
public class ButtonHandler implements MouseListener
{
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mouseClicked(MouseEvent e)
{
doSomething("Mouse clicked", e);
}
}
}
은 물론, 일을 구현하는 방법에는 여러 가지가 있습니다 : 자바, 당신이 (내가 실수를 만들고있어 만약 내가 메모리에서 쓰고 있어요 때문에, 저를 용서)처럼 작성할 클래스 자체, 내부 클래스, 익명 클래스, 어댑터 등에서 EventListener 인터페이스를 구현하는 것을 포함하여 일반적인 관찰자 패턴입니다.하지만이 점을 입증해야합니다.
- 1. 그래프 데이터베이스 란 무엇입니까?
- 2. PHP의 EventListener
- 3. 의 EventListener
- 4. 안드로이드의 EventListener
- 5. 의 EventListener
- 6. Twisted의 EventListener 메커니즘
- 7. Castle과 대조적으로 ninject에서의 Asfactory 구현
- 8. EventListener 내부에서 템플릿을 렌더링하는 방법은 무엇입니까?
- 9. eventListener 뒤 변수 업데이트
- 10. javascript eventlistener 문제
- 11. AS3 방법의 EventListener 값
- 12. RMI를 통해 EventListener 전달
- 13. 부모 클래스의 EventListener 함수
- 14. 스레드 란 무엇입니까 (스레드 란 무엇입니까?)?
- 15. 예제와 대조적으로 권한 라이브러리를 사용하는 것이 더 나은 이유는 무엇입니까?
- 16. eventListener 함수에 매개 변수 전달
- 17. symfony2 eventlistener 유형의 컬렉션 추가하기
- 18. DataGrid에서 항목 수를 확인하는 EventListener
- 19. EventListener "좋은 부품"의 예제
- 20. jQuery 플러그인 : 요소에 eventlistener 추가
- 21. Actionscript 3.0 객체의 EventListener 활성화
- 22. vimeo jquery 함수를 실행하는 eventlistener
- 23. CGI 란 무엇이며 CGI 스크립트 란 무엇입니까?
- 24. (메모리 누수와는 대조적으로) 메모리 조각화에 대해 이야기하십시오.
- 25. 개발 프레임 워크 란 무엇입니까? IDE 란 무엇입니까?
- 26. 버퍼 란 무엇입니까? 버퍼링 된 읽기 및 쓰기 란 무엇입니까?
- 27. auth_user_file.txt 란 무엇입니까?
- 28. 위안시 란 무엇입니까?
- 29. 처리기 란 무엇입니까?
- 30. 하드웨어 ID 란 무엇입니까?
나는이 질문을 이해하지 못한다. AFAIK,'EventListener'는 추적과 함께 사용됩니다. (당신이 더 구체적인 세부 사항을 제공 할 때 나의 downvote를 되 찾을 것입니다) – leppie