2013-03-08 60 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

相關問題