您的位置:首页 > 移动开发

[Java] Applet

2015-08-19 17:50 246 查看
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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: