2013-03-08 76 views
2

有人可以请我解释一下为什么FileDialog实现了两个构造函数,一个是Frame,一个是Dialog?我的意思是,他们为什么不使用继承的祝福,并使用Window创建了一个构造函数?我问这个问题是因为有时当你需要使用GUI请求一个文件时,你可以从FrameDialog请求一个文件,如果你不必担心为一个文件创建“请求者”方法Frame也为Dialog,我看了FileDialog的源代码,并且在构造函数之间没有区别(我可以欣赏),因为它们只使用FrameDialog将它们设置为parentComponent ...FileDialog中不需要的构造函数?

回答

2

这些构造是在历史的不同时间创建的。向后兼容性有强烈的需求。

// @since 1.5 
public FileDialog(Dialog parent) 

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

aaaa所以这就是...有趣的原因,他们不能为窗口添加一个构造函数¬.¬,我需要其中的一个:(...感谢您的回答:)... – Ordiel 2013-03-08 17:45:19

+0

@Ordiel - 创建一个关于该需求的新问题。但我认为答案将是FileDialog fd = new FileDialog(Frame(null)); (或新的FileDialog(新的框架())) - 都导致应用程序模式对话框弹出(在我的快速测试)。但更好地发布新的问题,看看别人的想法。 – Java42 2013-03-08 18:04:07

相关问题