13.3 制作按钮

制作一个按钮非常简单:只需要调用Button构建器,并指定想在按钮上出现的标签就行了(如果不想要标签,亦可使用默认构建器,但那种情况极少出现)。可参照后面的程序为按钮创建一个句柄,以便以后能够引用它。

Button是一个组件,象它自己的小窗口一样,会在更新时得以重绘。这意味着我们不必明确描绘一个按钮或者其他任意种类的控件;只需将它们纳入窗体,以后的描绘工作会由它们自行负责。所以为了将一个按钮置入窗体,需要过载init()方法,而不是过载paint():

//: Button1.java
// Putting buttons on an applet
import java.awt.*;
import java.applet.*;
public class Button1 extends Applet {
  Button 
    b1 = new Button("Button 1"), 
    b2 = new Button("Button 2");
  public void init() {
    add(b1);
    add(b2);
  }
} ///:~

但这还不足以创建Button(或其他任何控件)。必须同时调用Applet add()方法,令按钮放置在程序片的窗体中。这看起来似乎比实际简单得多,因为对add()的调用实际会(间接地)决定将控件放在窗体的什么地方。对窗体布局的控件马上就要讲到。