2013-03-08 3 views
2

누군가가 제게 설명해 주시겠습니까 FileDialog은 Frame과 Dialog를 위해 두 개의 생성자를 구현하는 이유는 무엇입니까? 내 말은, 왜 그들은 상속의 축복을 사용하지 않고 단지 Window을 사용하여 생성자를 만들었 을까요? GUI를 사용하여 파일을 요청해야하는 경우가 종종 있기 때문에 Frame 또는 Dialog에서 파일을 요청할 수 있기 때문에이 질문에 답할 수 있습니다. 그러면 해당 파일에 대해 "요청자"메소드를 작성하는 것에 대해 걱정하지 않아도됩니다. Frame 그리고 Dialog에 대해서도 FileDialog의 소스 코드를 살펴본 결과 FrameDialog을 사용하여 parentComponent으로 설정 했으므로 생성자간에 차이점이 없습니다.FileDialog에 불필요한 생성자가 있습니까?

답변

2

이러한 구성은 역사상 다른시기에 만들어졌습니다. 이전 버전과의 호환성을 강하게 요구합니다. (... 답변에 대한 감사합니다 :)

// @since 1.5 
public FileDialog(Dialog parent) 

// @since JDK1.1 
public FileDialog(Frame parent) 
+0

AAAA 그 ... 흥미로운 이유 때문에, 그들은 또한 ¬.¬ 윈도우 생성자를 추가 할 순 없었, 나는 그 중 하나가 필요합니다 ... – Ordiel

+0

@Ordiel - 필요에 관한 새로운 질문을 만듭니다. 하지만 그 대답은 FileDialog fd = new FileDialog (Frame (null))가 될 것이라고 생각합니다. (또는 새 FileDialog (새 프레임())) - 둘 다 응용 프로그램 모달 대화 상자가 나타납니다 (내 빠른 테스트에서). 그러나 다른 사람들이 생각하는 것을보기 위해 새로운 질문을 게시하는 것이 좋습니다. – Java42

관련 문제