jfree.A 콤보 상자를 사용하여 그래프를 생성하는 응용 프로그램을 작성하고 있습니다. 특정 그래프를 선택하기 위해 제공됩니다. 다른 그래프에 대해 다른 클래스를 유지했습니다. 그리고 switch 문을 사용하여 해당 특정 클래스를 선택시 호출합니다. graph.Now의 유형은이 스위치를 제거하고 동적으로 작동 시키려고합니다. 예를 들어, 새로운 그래프 클래스가 그래프의 선택에 쓰여지는 경우, 스위치에 하나 더 사례를 쓰는 대신 해당 클래스를 호출 할 수 있어야합니다. Java의 콜백 콜이 도움이됩니다. 그렇다면 어떻게해야합니까? 또한 이것을 수행하는 다른 방법이 있습니다.Java에서 콜백 사용
0
A
답변
1
여기 실제로 원하는 것 같습니다. Interface
입니다. 에서와 같이 공통적 인 API 인 Graph
인스턴스가 제공된다는 보장이 있습니다. 그런 다음 모든 그래프가 동일한 콜백 API를 제공하기 때문에 어떤 그래프가 선택되었는지 특별히 걱정할 필요가 없습니다. 다음
public interface Selectable {
public void onSelect();
}
그리고 당신처럼, 그래프 구현을 상위 클래스로 사용할 추상 Graph
클래스 :
public abstract class Graph implements Selectable {
}
그런 다음 당신은 그냥 각 그래프 구현을 표시 예를 들어, 당신은 뭔가를해야 할 수도 있습니다 extends Graph
이고 컴파일러는 각각 onSelect()
을 구현해야합니다. 완료되면 switch
문을 그래프의 onSelect()
메서드 호출로 바꿀 수 있습니다.
리플렉션과 Method
클래스를 사용하여 자바에서 완전히 임의의 객체에 대한 실제 동적 콜백/메소드 호출을 수행 할 수 있지만 실제로는 그리 간단하지 않으며 수행하려고하는 것처럼 과장된 행동입니다.
0
http://en.wikipedia.org/wiki/Observer_pattern 당신이 찾고있는 것입니다. 이벤트 중심 UI 코드에 많이 사용됩니다.
관련 문제
- 1. pyevent에서 콜백 기능 사용
- 2. before_add 콜백 사용 nested_attributes
- 3. RhinoMock에서 콜백 트리거 사용
- 4. dconf watch 콜백 사용
- 5. Java에서 Smack API (xmpp)로 JavaFX 콜백
- 6. Google Analytics에서 JS 콜백 사용
- 7. ajax 콜백 jquery에서 $ (this) 사용
- 8. ruby gpgme의 암호문 콜백 사용
- 9. URLLoader의 콜백 후 airSWF.installApplication() 사용
- 10. Facebook deauthorize 콜백 사용 방법
- 11. 암호화없이 Java에서 HTTPS 사용
- 12. Java에서 pow() - 메서드 사용
- 13. Java에서 DiffGram 사용
- 14. Java에서 LayerManager 사용 방법
- 15. Java에서 e.printStackTrace() 사용
- 16. Java에서 시스템 속성 사용
- 17. Java에서 RecordStore 사용 J2ME
- 18. Java에서 C 구조체 사용
- 19. Java에서 .OCX 컨트롤 사용
- 20. jni의 콜백
- 21. java에서 인터페이스 사용 ..Newb 질문
- 22. Java에서 String에 xpath를 사용 하시겠습니까?
- 23. Java에서 xml-rpc를 사용 중이십니까?
- 24. Java에서 ASP.NET 폼 인증 사용
- 25. Java에서 Ruby ActiveRecord 모델 사용
- 26. Java에서 Vesa 비디오 모드 사용
- 27. JavaScript 함수에서 콜백 함수 사용 방법
- 28. ASP.NET 사용자 컨트롤에서 AJAX 콜백 사용
- 29. $ .post에 대한 콜백 함수로 객체 메소드 사용
- 30. 사용 콜백 함수는 스택 백 트레이스를보고