• [Java] Applet


    1. Applet 类

    Applet 类在使用时没有main()方法,不能独立运行,必须嵌入到网页中,在网页上显示各种信息和效果。所以Applet 类用于网页交互的应用较为普遍。我们一般把Java Applet 程序称为Java 小程序

    Applet 类在java.applet 包中,在使用时必须加载该包

    Applet 类的定义形式: 

    public class Applet extends Panel

    2. Apple 类中的方法

    生命周期方法:
    public void init()  用于初始化,在Applet 被调用时启用,只执行一次

    public void start()  启动运行Applet

    public void stop()  停止Applet

    public void destroy()  关闭Applet,清理Applet所调用的资源

    运行状态方法:
    public boolean is Active()

    public String getParameter(String name)

    public void showStatus(String msg)

    ...

    3. Applet 程序示例

    import java.awt.*;
    import java.applet.*;
    public class Example extends Applet{
      String s;
      public void init(){
        s = "Welcome";
      }
      public void paint(Graphics g){
        g.drawString(s, 30, 30);
      }

    }

    在HTML 中嵌入Applet

    <HTML>
      <HEAD>
        <TITLE>Applet Example</TITLE>
      </HEAD>
      <applet code=Example.class width=300 height=300></applet>
    </HTML>

    4. 向Applet 传递消息

    我们不仅可以将信息从Applet 传递到浏览器中显示,也可以从浏览器中传递消息到Applet 中。在网页中,我们使用param定义变量;在Applet中,使用getParameter()获取变量的值

    eg:

    import java.awt.*;
    import java.applet.*;
    public class Example extends Applet{
      String s;
      public void init(){
        s = getParameter("p");
      }
      public void paint(Graphics g){
        g.drawString(s, 30, 30);
      }

    }
    <HTML>
      <HEAD>
        <TITLE>Applet Example</TITLE>
      </HEAD>
      <applet code=Example.class width=300 height=300>
        <param name=p value="你看到我了吗">
      </applet>
    </HTML>

    5. 多媒体应用

    5.1 绘制图形

    eg:

    import java.awt.*;

    import java.applet.*;
    public class Example extends Applet{
      public void paint(Graphics g){
        g.setColor(new Color(0,0,255));
        g.fillOval(20, 20, 100, 100);
        g.drawRect(200, 20, 100, 50);
        g.fillArc(200, 200, 100, 200, 0, 180);
      }

    }
    <HTML>
      <HEAD>
        <TITLE>Applet Example</TITLE>
      </HEAD>
      <applet code=Example.class width=300 height=300></applet>
    </HTML>

    5.2 绘制图像

    Applet类加载图像的方法: public Image getImage(URL url, String name)

    图像加载后,便可以在Applet 中绘制图像了。在Applet 中绘制图像是在其 paint() 方法中实现的。这时就要调用Graphics 类中的drawImage() 方法完成,该方法的声明形式: public void drawImage(Image img, int x, int y, int width, int height, ImageObserver obs)

    eg:

    import java.awt.*;
    import java.applet.*;
    public class test3 extends Applet{
      Image img;
      public void init(){
        img=getImage(getDocumentBase(), "applet.jpg");
      }
      public void paint(Graphics g){
        g.drawImage(img, 0, 0, 10, 10, this);
        g.drawImage(img, 10, 0, 20, 20, this);
        g.drawImage(img, 30, 0, 40, 40, this);
        g.drawImage(img, 70, 0, 80, 80, this);
        g.drawImage(img, 150, 0, 160, 160, this);
        g.drawImage(img, 310, 0, 320, 320, this);
      }
    }
    <HTML>
      <HEAD>
        <TITLE>Applet Example</TITLE>
      </HEAD>
      <applet code=Example.class width=300 height=300></applet>
    </HTML>

    5.3 事件处理

    eg:

    import java.awt.*;
    import java.awt.event.*;
    import java.applet.*;
    import javax.swing.*;
    public class test3 extends Applet implements ActionListener{
      int i = 20;
      JButton button1, button2;
      public void init(){
        button1=new JButton("变大");
        button2=new JButton("变小");

        button1.addActionListener(this);
        button2.addActionListener(this);
      }
      public void paint(Graphics g){
        add(button1);
        add(button2);
        g.fillOval(30, 30, i, i);
      }

      @Override
      public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        if(e.getSource() == button1){
          i = i + 10;
          repaint();
        }else if(e.getSource() == button2){
          i = i-10;
          repaint();
        }
      }
    }

    <HTML>
      <HEAD>
        <TITLE>Applet Example</TITLE>
      </HEAD>
      <applet code=Example.class width=300 height=300></applet>
    </HTML>

    5.4 播放音乐

    eg:

    import java.awt.*;
    import java.awt.event.*;
    import java.applet.*;

    import javax.swing.JButton;
    public class test3 extends Applet implements ActionListener{
      AudioClip ac;
      Button button1, button2, button3;
      public void init(){
        ac = getAudioClip(getCodeBase(), "Test.wav");
        button1=new Button("开始");
        button1 = new Button("停止");
        button1 = new Button("循环");

        button1.addActionListener(this);
        button2.addActionListener(this);
        button3.addActionListener(this);

        add(button1);
        add(button2);
        add(button3);
      }
      public void stop(){
        ac.stop();
      }

      @Override
      public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        if(e.getSource() == button1){
          ac.play();
        }else if(e.getSource() == button2){
          ac.stop();
        }else if(e.getSource() == button3){
          ac.loop();
        }
      }
    }

    <HTML>
      <HEAD>
        <TITLE>Applet Example</TITLE>
      </HEAD>
      <applet code=Example.class width=300 height=300></applet>
    </HTML>

  • 相关阅读:
    用ZooKeeper做为注册中心搭建基于Spring Cloud实现服务注册与发现
    spring-cloud-starter-hystrix(断路器)服务不通或者调用失败后的错误处理和回调
    spring-boot-starter-actuator(健康监控)配置和使用
    为什么Java使用System.getenv()获取刚刚设置的环境变量时为空
    Java获取系统环境变量(System Environment Variable)和系统属性(System Properties)以及启动参数的方法
    为什么Linux下的环境变量要用大写而不是小写
    Spring Boot在开发时实现热部署(开发时修改文件保存后自动重启应用)(spring-boot-devtools)
    Ubuntu 16.04添加多张虚拟网卡
    Javascript网址跳转方法
    MySQL出现:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure Last packet sent to the server was 0 ms ago.
  • 原文地址:https://www.cnblogs.com/feifeidxl/p/4742953.html
Copyright © 2020-2023  润新知