Applet原理及一个简单DEMO

来源:互联网 发布:discuz源码有多大 编辑:程序博客网 时间:2024/06/06 01:18
好不容易收集的几张swing体系结构类图,就这样被网易给封了大哭,看来有空的时候得自己去整了。
Applet继承自Component,即 Applet 是容器,java GUI容器用了组合设计模式,容器可以添加容器等操作。
以下是Applet 结合事件机制的一个小Demo
package AppletDemo.driver;import java.applet.Applet;import java.awt.BorderLayout;import java.awt.Button;import java.awt.Color;import java.awt.Graphics;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;/** * Appplet生命周期 * :init,start,paint,stop,destory **/
@SuppressWarnings("serial")public class Test extends Applet implements ActionListener {String str1 = new String();Button b1;// 声明按钮对象;Button b2;Color c;int i = 0;//初始化public void init() {b1 = new Button();b2 = new Button("按钮对象2");// 添加事件监听者b1.addActionListener(this);b2.addActionListener(this);this.add(b1);this.add(b2);System.out.println("init>>>"+i+1);}//启动public void start() {b1.setLabel("按钮对象1");str1 = b2.getLabel();repaint();System.out.println("start>>>"+i+1);}
//渲染public void paint(Graphics g) {g.setColor(c);g.drawString("引发事件的对象的标签:" + str1, 40, 60);System.out.println("paint>>>"+i+1);}// 实现接口中的方法,响应动作事件public void actionPerformed(ActionEvent e) {String arg = e.getActionCommand();if (arg == "按钮对象1") {c = Color.red;str1 = "按钮对象1";} else if (arg == "按钮对象2") {c = Color.blue;str1 = "按钮对象2";}repaint();}}



0 0
原创粉丝点击