的Java Swing组件初始化
问题描述:
它是把一个组件的初始化代码的方法,如果它不只是设置其颜色,大小和文字更加好的做法?的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);
}
答
有在做这个没有害处,不过,我会建议你初始化移动到其自己单独的类有一个值得关注的完全分离。
class MySlider extends JSlider{
public MySlider(){
super();
//init statements here
}
}
然后在你的帧/主类
public void init()
{
.....
sectors = new MySlider(10,50,12);
.....
}
+0
实际上,我只是编造了这个场景来缩短这个例子。实际上,这个init方法是JPanel。 –
答
是的,它会更好,它也会使管理和阅读代码更容易。这是我认为的,但在一天结束时,它取决于程序员的风格。
我个人更喜欢将数据组织成不同的方法。其他人可能会不同意。 –
它本身并什么似乎不错,但因为你可以多次调用它,因为它一个更好的名字可能是'resetSlider()'或类似的规定。 – UnknowableIneffable
它的优良把这样的事情在不同的方法,但这些方法几乎是可以'private'方法。初始化组件是该类和该类的责任。 – VGR