【问题标题】:Unnecessary Constructor in FileDialog?FileDialog中不必要的构造函数?
【发布时间】:2013-03-08 16:11:42
【问题描述】:

谁能给我解释一下为什么FileDialog实现了两个构造函数,一个用于Frame,一个用于Dialog?我的意思是,他们为什么不使用继承的祝福而只是创建了一个构造函数使用Window?我问这个是因为有时当您需要使用 GUI 请求文件时,您可以从 FrameDialog 请求文件,如果您不必担心创建“请求者”会很好" FrameDialog 的方法,我查看了 FileDialog 的源代码,构造函数之间没有区别(我可以理解),因为它们只使用 @987654328 @ 和 Dialog 将它们建立为 parentComponent...

【问题讨论】:

    标签: java inheritance constructor filedialog


    【解决方案1】:

    这些建筑是在历史的不同时期创建的。对向后兼容性有强烈的、强制的需求。

    // @since 1.5
    public FileDialog(Dialog parent)
    
    // @since JDK1.1
    public FileDialog(Frame parent)
    

    【讨论】:

    • aaaa 所以这就是原因......有趣,他们不能也为窗口添加一个构造函数 ¬.¬,我需要其中一个:(...谢谢你的回答:)。 ..
    • @Ordiel - 创建一个关于该需求的新问题。但我认为答案将是 FileDialog fd = new FileDialog(Frame(null)); (或 new FileDialog(new Frame()) ) - 两者都会导致应用程序模式对话框弹出(在我的快速测试中)。但最好发布新问题以了解其他人的想法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 2011-06-17
    • 2013-07-28
    • 1970-01-01
    • 2012-06-30
    相关资源
    最近更新 更多