JAVA 学习笔记---applet

来源:互联网 发布:ubuntu使用gcc编译器 编辑:程序博客网 时间:2024/05/01 13:10

一. applet概念

高雅概念:用JAVA编写的,被HTML文件调用的,被浏览器运行的程序通俗理解:浏览网页是看到使用java开发的图形用户界面或动画

二. 使用applet

1. 编辑applet

DisplayLabel.java

import javax.swing.*;public class DisplayLabel entends JApplet{      public DisplayLabel(){            add(new JFrame("Grate!", JLabel.CENTER));}
2. 编辑HTML文档

DipsplayLabel.html

<html>  <head>    <title>Java Applet Demo</title>  </head>  <body>    <applet      code = "DisplayLabel.class"      width = 250      height = 50>    </applet>  <body></html>

三. 两种查看applet的方式

1. Web浏览器:直接点击调用了applet的HTML文档,用浏览器打开。2. applet查看器:用doc命理行调用applet viewer (html文件名).html 

四. Web浏览器的本地加载和网络加载

1. 本地加载   applet和html文档都出存在本地,在浏览器中输入本地路径2. 网络加载   applet和html文档都出存在Web服务器上,在浏览器中输入所在服务器路径

五. applet与一般JAVA程序可以相互转换

applet无非就是能被浏览器中的applet插件利用,一般的JAVA GUI程序也能按运行方法达到相同的效果。所以两个程序本质是没有区别,只是形式不一样。

GUI应用程序:

import javax.swing.*;public class DisplayLabel entends JFrame{      public DisplayLabel(){            add(new JFrame("Grate!", JLabel.CENTER));      }      public static void main(String[] args){            JFrame frame = new DisplayLabel();            frame.setTitle("DisplayLabel");            frame.setSize(200, 100);            frame.setLocationRelativeTo(null);            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);            frame.setVisible(true));      }}

applet:

import javax.swing.*;public class DisplayLabel entends JApplet{      public DisplayLabel(){            add(new JFrame("Grate!", JLabel.CENTER));}
区别:1. 继承不一样的父类2. 有无main函数

六. applet与一般JAVA的应用程序的区别

1. applet程序没有main方法,主要有Web浏览器自带的applet container插件来构造applet对象,初始化等等操作。2. 因为要在浏览器中显示,调用applet的HTML文档包含了所有排版工作;对于一般的JAVA程序,如果要显示出相同的结果,则需要在main方法中包含所有排版工作。3. 由于安全因素,applet的功能要满足三个安全限值(见第五部分)。

七. applet的三个安全限制

applet文件和html文档一般都储存在服务器端,供用户调用,所以用户在浏览网页时不希望改变自己计算机的内容,对applet的功能必然有一定限制。1. 不能对当前计算机的文件系统作读/写操作2. 不能运行当前计算机上的程序3. 不能控制当前计算机与其他计算机建立联系

八. 给applet传字符串

我们知道如何给一般java程序传参(利用命令行给main函数的args传参),applet也可以用一些方法从html文档获取参数。

DisplayMessage.java

import javax.swing.*;public class DisplayLabel entends JApplet{      public void init(){          String message = getParameter("MESSAGE");          int x = Integer.parseInt(getParameter("X"));          int y = Integer.parseInt(getParameter("Y"));          MessagePanel messagePanel = new MessagePanel(message);          messagePanel.setXCoordinate(x);          messagePanel.setYCoordinate(y);          add(messagePanel);      }}

DisplayMessage.html

<html>  <head>    <title>Passing Strings to java Applets</title>  </head>  <body>    <applet      code = "DisplayMessage.class"      width = 200      height = 50      alt = "You must have a Java 2-enable browser to view the applet"      >      <param name = MESSAGE value = "Welcome to Java">      <param name = "X" value = 20>      <param name = "Y" value = 30>    </applet>  <body></html>

此处的applet与第五部分的applet不一样:后者只有构造方法,而前者用的是init函数。因为此处调用的getParameter方法必须基于对象来调用,所以用无参构造器构造出对象之后再运行init方法调用getParameter方法。

0 0
原创粉丝点击