2017-03-06 41 views
0

我正在創建一個自定義的JDialog類,我想知道如何隱藏我不希望有人更改的所有方法?用很多方法擴展類,並隱藏其中大多數

作爲一個「結果」,我只是希望方法可見,真正重要。

E.g.

public class TestDialog extends JDialog { 
    public void setProgress(int p) {} 
} 

當有人想要使用此對話框中的所有他看到的是:

testDialog.setProgress // suggested from eclipse 

更新:我想隱藏所有從JDialog的方法,如果說不清楚

+1

阻止您將這些其他方法設置爲私有或受保護的內容? –

+0

不,但有很多,我想也許有一個更簡單的方法來做到這一點 – user489872

+0

如果你不希望你的方法是可見的,並希望保護他們避免過度使他們私人和最終。 –

回答

4

你可以創建一個自己的類,這不是擴展一個JDialog,而是包含一個JDialog。

例子:

public class MyDialog{ 

    private JDialog dia = null; 

    public MyDialog() { 
     //init dialog 
    } 

    //your methods, ... 

    public void setXYZ(int a) { 
     dia.setXYZ(a); 
    } 

} 

這樣,你只需要實現的方法,你想成爲可見的。

編輯

爲了更好地理解看看不同的設計模式(例如:deligation patternadapter pattern