我们知道,java语言的运用就是面向对象实现功能,和c不同,java语言对于程序员来说,运用起来更为简便。

小应用程序与应用程序不同,小应用程序只能在与Java兼容的容器中运行,可以嵌入在HTML网页内,在网络上发布,当网页被浏览时,在浏览器中运行。小应用程序的运行还受到严格的安全限制,例如它不能访问用户计算机上的文件。Java应用程序没有这些限制,也不支持网页嵌入和下载运行。
小应用程序和应用程序在代码编写上也有很大的差异。一个小应用程序必须定义成一个Applet类的子类,应用程序可以是Applet类的子类,也可以不是。应用程序必须在一个类中定义一个main()方法,该方法代表应用程序的入口。而小应用程序不必定义main()方法,它的执行由Applet类中定义的多个方法控制。
因此想要实现java web功能,
第一步,将java应用程序改为小应用程序,此时就要使导入applet包(import java.applet.*;),使类继承Applet类,定义初始化init方法。

package guotingting;
import java.awt.*;

import javax.swing.*;
import javax.swing.border.TitledBorder;

import java.awt.event.*;
import java.awt.event.*;
//import java.util.Date;
import java.applet.Applet;
public class she extends Applet{
//public class she extends JFrame{
JButton b1=new JButton();
JButton b2=new JButton();
JButton b3=new JButton();

JLabel l1=new JLabel();
JLabel l2=new JLabel();
JLabel l3=new JLabel();
JLabel l4=new JLabel();
JLabel l5=new JLabel();
JLabel l6=new JLabel();
JLabel l7=new JLabel();
JLabel l8=new JLabel();
JLabel l9=new JLabel();
JLabel l10=new JLabel();
JLabel l11=new JLabel();
JLabel l12=new JLabel();
JLabel l13=new JLabel();

JTextField t1=new JTextField(" "
+ " ");
//JTextField t1=new JTextField();
JTextField t2=new JTextField();
JTextField t3=new JTextField();
JTextField t4=new JTextField();
JTextField t5=new JTextField();
JTextField t6=new JTextField();
JTextField t7=new JTextField();
JTextField t8=new JTextField();
JTextField t9=new JTextField();
JTextField t10=new JTextField();
JTextField t11=new JTextField();
JTextField t12=new JTextField();
JTextField t13=new JTextField();
JTextField t14=new JTextField();

JPanel p1=new JPanel();
JPanel p2=new JPanel();
JPanel p3=new JPanel();
JPanel p4=new JPanel();
JPanel p5=new JPanel();
JPanel p6=new JPanel();
JPanel p7=new JPanel();
JPanel p8=new JPanel();
JPanel p9=new JPanel();
JPanel p10=new JPanel();

public void init()
{
//super("个人信息表 Personal Information List");
setSize(500,660);
//Container cp=getContentPane();
this.setLayout(new BorderLayout());
//cp.setLayout(null);

this.add( p1,BorderLayout.NORTH);
p1.setBounds(10, 10, 460, 370);
//p1.setSize(960,370);
p1.setBackground(Color. pink);
p1.setBorder(new TitledBorder("个人信息:"));
//cp.add(p1);
p1.add(p5);

this.add( p2,BorderLayout.CENTER);
p2.setBounds(10, 380, 460, 100);
//p2.setSize(960,100);
p2.setBackground(Color.green);
p2.setBorder(new TitledBorder("兴趣爱好:"));
l13.setText("添加:");
p2.add(l13);
//cp.add(p2);
p2.add(p6);

this.add( p3,BorderLayout.SOUTH);
p3.setBackground(Color.yellow);
p3.setBounds(10,480,460,100);
//p3.setSize(960,100);
//cp.add(p3);
p3.add(p7);
p3.add(p8);

//this.add( p4,BorderLayout.CENTER);
//p4.setBackground(Color.red);
//p4.setBounds(10,580,960,100);
//p4.setSize(960,100);
//cp.add(p4);
//p4.add(p8);

p5.setLayout(new GridLayout(10,2));
l1.setText("姓名:");
p5.add(l1);
p5.add(t1);

l2.setText("性别:");
p5.add(l2);
CheckboxGroup cp1=new CheckboxGroup();
Checkbox c1=new Checkbox("男生",true,cp1);
p9.add(c1);
Checkbox c2=new Checkbox("女生",false,cp1);
p9.add(c2);
p5.add(p9);

l3.setText("年龄:");
p5.add(l3);
p5.add(t3);

l4.setText("名族:");
p5.add(l4);
p5.add(t4);

l5.setText("出生年份:");
p5.add(l5);
Choice ch1=new Choice();
ch1.add("1997");
ch1.add("1998");
ch1.add("1999");
ch1.add("2000");
p5.add(ch1);

l6.setText("政治面貌:");
p5.add(l6);
Choice ch2=new Choice();
ch2.add("团员");
ch2.add("党员");
p5.add(ch2);

l7.setText("身份证号:");
p5.add(l7);
p5.add(t7);

l8.setText("邮编:");
p5.add(l8);
p5.add(t8);

l9.setText("住址:");
p5.add(l9);
p5.add(t9);

l10.setText("联系电话:");
p5.add(l10);
p5.add(t10);

p6.setLayout(new GridLayout(3,1));
JCheckBox c3=new JCheckBox("阅读");
p10.add(c3);
JCheckBox c4=new JCheckBox("运动");
p10.add(c4);
JCheckBox c5=new JCheckBox("旅游");
p10.add(c5);
JCheckBox c6=new JCheckBox("书法绘画");
p10.add(c6);
JCheckBox c7=new JCheckBox("瑜伽");
p10.add(c7);
JCheckBox c8=new JCheckBox("摄影");
p10.add(c8);
p6.add(p10);
p6.add(t11);

p7.setLayout(new GridLayout(5,5,3,1));
b1.setLabel("提交");
p7.add(b1);
b2.setLabel("保存");
p7.add(b2);
b3.setLabel("返回");
p7.add(b3);

p7.add(b1);
p7.add(b2);
p7.add(b3);

b1.addMouseListener(new aa());
b2.addMouseListener(new aa());
b3.addMouseListener(new aa());

p8.setLayout(new GridLayout(1,0));
p8.add(l12);

//setVisible(true);
}

class aa extends MouseAdapter
{
public void mouseClicked(MouseEvent e)
{
l12.setText("OK!成功!");

}
}
//public static void main(String[] args)
//{
//new she();

//}

}

第二步,将小应用程序嵌入到HTML文档中,此时最简单的方法是用记事本编写HTML文档,编写完之后再将记事本文件的扩展名改为.html文件并保存,并将此文件放到该程序文件夹中bin文件夹下,也就是说必须要与class文件放在一起。

<!DOCTYPE HTML>
<html>
<head>

<body>


<applet CODE = "she.class" width = 600 height = 800 ></applet>

</body>

</head>
</html>

运行之后就是这个样子

第三步,在电脑中安装插件Java并长期允许运行。接着设置插件Java的配置,在安全项站点列表中添加该程序在网页中打开的站点。

第四步,打开.html文件,由于java小应用权限的问题,打开方式最好选择火狐浏览器,此时就可以看到浏览器网页中显示着你的小应用程序窗口界面。

(图片较大,在这里就不截图看啦!!)


 

如何在浏览器网页中实现java小应用程序的功能的更多相关文章

  1. 如何在浏览器网页中显示word文件内容

    如何在浏览器网页中显示word文件内容 把word文件读到byte[]中,再Response.OutputStream.Write(bytes)到客户端去 Page_Load事件中写: //FileS ...

  2. PluginOK中间件高级版-支持在Chrome、Edge、Firefox等浏览器网页中真正内嵌ActiveX等控件运行的版本已获多家上市公司采购

    PluginOK(牛插)中间件(原名:本网通WebRunLocal)是一个实现WEB浏览器(Web Browser)与本地程序(Local Application)之间进行双向调用的低成本.强兼容.安 ...

  3. 使用 highlight.js 在网页中高亮显示java 代码 【原】

    <html> <head> <meta charset="UTF-8"> <script src="http://apps.bd ...

  4. Java 抓取网页中的内容【持续更新】

    背景:前几天复习Java的时候看到URL类,当时就想写个小程序试试,迫于考试没有动手,今天写了下,感觉还不错 内容1. 抓取网页中的URL 知识点:Java URL+ 正则表达式 import jav ...

  5. 在网页程序或Java程序中调用接口实现短信猫收发短信的解决方案

    方案特点: 在网页程序或Java程序中调用接口实现短信猫收发短信的解决方案,简化软件开发流程,减少各应用系统相同模块的重复开发工作,提高系统稳定性和可靠性. 基于HTTP协议的开发接口 使用特点在网页 ...

  6. 一个简单java爬虫爬取网页中邮箱并保存

    此代码为一十分简单网络爬虫,仅供娱乐之用. java代码如下: package tool; import java.io.BufferedReader; import java.io.File; im ...

  7. 如何使用JAVA语言抓取某个网页中的邮箱地址

    现实生活中咱们常常在浏览网页时看到自己需要的信息,但由于信息过于庞大而又不能逐个保存下来. 接下来,咱们就以获取邮箱地址为例,使用java语言抓取网页中的邮箱地址 实现思路如下: 1.使用Java.n ...

  8. 简单的Java网络爬虫(获取一个网页中的邮箱)

    import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; impo ...

  9. 在纯HTML的静态网页中添加一段统计网页访问量的JAVA Script代码?

    如何在网站上进行流量统计呢,可以找第三方服务网站去注册,但也可以在网站上直接添加代码,只需将以下代码copy到你的网页中,复制到</body>之前就可以啦!是不是很简单啊! <scr ...

随机推荐

  1. gtest框架使用

    gtest文档说明: 由于公司单元测试的需要,自己花了大半天时间下载了一个gtest框架,使用了一些测试例子,总览了coderzh的玩转gtest测试框架,又看了几篇gtest博客,写下了以下内容,作 ...

  2. Latex 中宽度的设置和理解

    \textwidth, 文本区域的全部宽度 \columnwidth, 文本中一列的宽度,单栏或者多栏的情况下,值是不同的 但是,一旦\textwidth, \columnwidth, \linewi ...

  3. XMPP——Smack[1]连接、登陆及账户操作

    临毕业前,应需求,花了三天写了个小的聊天工具,貌似简陋得很….若有机会再完善吧,目前毕业季,处理毕业事宜,还要准备即将的入职. 眼瞅着大学四年就这么结束了,哎. 开始吧,四篇博文简单介绍下基本实现,由 ...

  4. 从PHPCMS、帝国CMS谈站长如何选择适合自己的CMS

    经常见站长论坛有人提到选哪个CMS好,最近也又有朋友在51LA站长群里问到PHPCMS和帝国CMS比较选哪个好的问题,所以落叶今天从PHPCMS及帝国CMS对比的角度来谈谈站长应该如何选择适合自己的C ...

  5. iOS 时间戳转换为时间

    NSString *str=";//时间戳 NSTimeInterval time=[str doubleValue]+;//因为时差问题要加8小时 == 28800 sec NSDate ...

  6. 使用ttXactAdmin、ttSQLCmdCacheInfo、ttSQLCmdQueryPlan获取SQL相关具体信息[TimesTen运维]

    使用ttXactAdmin.ttSQLCmdCacheInfo.ttSQLCmdQueryPlan获取SQL相关具体信息,适合于tt11以上版本号. $ ttversion TimesTen Rele ...

  7. CDOJ 1157 数列(seq) 分块+线段树

    数列(seq) Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/1157 Desc ...

  8. poj 1147 Binary codes

    Binary codes Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5647   Accepted: 2201 Desc ...

  9. Custom-Progress-Dialog-Android

    https://github.com/ManolescuSebastian/Custom-Progress-Dialog-Android

  10. 你真的会用 SDWebImage?

    SDWebImage作为目前最受欢迎的图片下载第三方框架,使用率很高.但是你真的会用吗?本文接下来将通过例子分析如何合理使用SDWebImage. 使用场景:自定义的UITableViewCell上有 ...