2017-03-06 97 views
0

它是把一個組件的初始化代碼的方法,如果它不只是設置其顏色,大小和文字更加好的做法?的Java Swing組件初始化

// frame initialisation 
public void init() 
{ 
    ..... 

    sectors = new JSlider(10,50,12); 
    initSlider(); 

    ..... 
} 

public void initSlider() 
{ 
    sectors.setMinorTickSpacing(1); 
    sectors.setMajorTickSpacing(5); 
    sectors.setSnapToTicks(true); 
    sectors.setPaintLabels(true); 
    sectors.setPaintTicks(true); 
} 
+1

我個人更喜歡將數據組織成不同的方法。其他人可能會不同意。 –

+2

它本身並什麼似乎不錯,但因爲你可以多次調用它,因爲它一個更好的名字可能是'resetSlider()'或類似的規定。 – UnknowableIneffable

+1

它的優良把這樣的事情在不同的方法,但這些方法幾乎是可以'private'方法。初始化組件是該類和該類的責任。 – VGR

回答

0

有在做這個沒有害處,不過,我會建議你初始化移動到其自己單獨的類有一個值得關注的完全分離。

class MySlider extends JSlider{ 
    public MySlider(){ 
     super(); 
     //init statements here 
    } 
} 

然後在你的幀/主類

public void init() 
{ 
    ..... 
    sectors = new MySlider(10,50,12); 
    ..... 
} 
+0

實際上,我只是編造了這個場景來縮短這個例子。實際上,這個init方法是JPanel。 –

0

是的,它會更好,它也會使管理和閱讀代碼更容易。這是我認爲的,但在一天結束時,它取決於程序員的風格。