Finishing Touches
现在,在BeanBox中已经显示出该按钮了,该按钮看起来就像个Bean。属性表列出颜色和标签的属性。通过编辑属性表,你可以在设计阶段设置这两个属性了。注意:按钮的颜色已经变为青色(cyan)。要完成这件事情,需要改变BeanColor实例变量的内容。
private Color BeanColor = Color.cyan;
所产生的新的显示效果,是在Bean的paint方法中,通过两个对fillArc的调用实现的。
g.fillArc(5,5,30,30,0,360);
g.fillArc(25,5,30,30,0,360);
这些调用使得Bean的初始方框左右两边加上了圆弧的形状。paint方法中的其余代码确保了String标签居于按钮的中央:
int width = size().width;
int height = size().height;
FontMetrics fm = g.getFontMetrics();
g.drawString(label,(width - fm.stringWidth(label))/2,
(height + fm.getMaxAscent() - fm.getMaxDescent())/2);