表2-2 通常使用的Component方法
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Component显示方法 说明
─────────────────────────────────
paint() 绘制构件
repaint() 尽可能早地调度构件的update方法调用
update() 重画构件,默认方案为刷新屏幕并调用paint方法
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
组合的start版本
既可以以applet的形式运行,也可以以application方式运行
import java.applet.Applet;
import java.awt.Frame;
import java.awt.Label;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class StarterCombined extends Applet {
Label text = new Label("Starter");
@Override
public void destroy() {
// TODO Auto-generated method stub
System.out.println("StarterCombined::destroy()");
super.destroy();
}
@Override
public void init() {
// TODO Auto-generated method stub
System.out.println("StarterCombined::init()");
super.init();
}
@Override
public void start() {
// TODO Auto-generated method stub
System.out.println("StarterCombined::start()");
this.add(text);
super.start();
}
@Override
public void stop() {
// TODO Auto-generated method stub
System.out.println("StarterCombined::stop()");
this.remove(text);
super.stop();
}
public static void main(String[] args) {
StarterCombinedFrame app = new StarterCombinedFrame("Combined starter");
app.setSize(300, 100);
app.setVisible(true);
System.out.println("StarterCombined::main()");
}
}
class StarterCombinedFrame extends Frame{
public StarterCombinedFrame(String frameTitle){
super(frameTitle);
StarterCombined applet = new StarterCombined();
applet.start();
this.add(applet,"Center");
this.addWindowListener(
//内部类,监听windows关闭事件
new WindowAdapter() {
public void windowClosing(WindowEvent e){
dispose();
System.exit(0);
}
}
);
}
}
StarterCombined继承applet
StarterCombinedFrame继承Frame
StarterCombined中有main方法,这样可以以application方式运行,运行时用另一个类StarterCombinedFrame来实现具体功能,最终完成整个要求!