如何在浏览器网页中实现java小应用程序的功能
我们知道,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小应用程序的功能的更多相关文章
- 如何在浏览器网页中显示word文件内容
如何在浏览器网页中显示word文件内容 把word文件读到byte[]中,再Response.OutputStream.Write(bytes)到客户端去 Page_Load事件中写: //FileS ...
- PluginOK中间件高级版-支持在Chrome、Edge、Firefox等浏览器网页中真正内嵌ActiveX等控件运行的版本已获多家上市公司采购
PluginOK(牛插)中间件(原名:本网通WebRunLocal)是一个实现WEB浏览器(Web Browser)与本地程序(Local Application)之间进行双向调用的低成本.强兼容.安 ...
- 使用 highlight.js 在网页中高亮显示java 代码 【原】
<html> <head> <meta charset="UTF-8"> <script src="http://apps.bd ...
- Java 抓取网页中的内容【持续更新】
背景:前几天复习Java的时候看到URL类,当时就想写个小程序试试,迫于考试没有动手,今天写了下,感觉还不错 内容1. 抓取网页中的URL 知识点:Java URL+ 正则表达式 import jav ...
- 在网页程序或Java程序中调用接口实现短信猫收发短信的解决方案
方案特点: 在网页程序或Java程序中调用接口实现短信猫收发短信的解决方案,简化软件开发流程,减少各应用系统相同模块的重复开发工作,提高系统稳定性和可靠性. 基于HTTP协议的开发接口 使用特点在网页 ...
- 一个简单java爬虫爬取网页中邮箱并保存
此代码为一十分简单网络爬虫,仅供娱乐之用. java代码如下: package tool; import java.io.BufferedReader; import java.io.File; im ...
- 如何使用JAVA语言抓取某个网页中的邮箱地址
现实生活中咱们常常在浏览网页时看到自己需要的信息,但由于信息过于庞大而又不能逐个保存下来. 接下来,咱们就以获取邮箱地址为例,使用java语言抓取网页中的邮箱地址 实现思路如下: 1.使用Java.n ...
- 简单的Java网络爬虫(获取一个网页中的邮箱)
import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; impo ...
- 在纯HTML的静态网页中添加一段统计网页访问量的JAVA Script代码?
如何在网站上进行流量统计呢,可以找第三方服务网站去注册,但也可以在网站上直接添加代码,只需将以下代码copy到你的网页中,复制到</body>之前就可以啦!是不是很简单啊! <scr ...
随机推荐
- mysql 索引建立
如何建立mysql索引? 创建索引原则 1.左前缀原则 : mysql索引匹配会从右匹配,到遇到( > < between like)终止.如 我们建立索引(a,b,c,d), a = ...
- cocos2d-x Action
转自:http://codingnow.cn/cocos2d-x/775.html 从结构图可以看出,动作类的基类是CCAction,通过继承它可以实现很多种动作. CCFiniteTimeActio ...
- 2015北京网络赛 A题 The Cats' Feeding Spots 暴力
The Cats' Feeding Spots Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://hihocoder.com/contest/acm ...
- JS 实现2+2=5的代码 实现原理解析
当我在http://segmentfault.com/q/1010000000531302 看到的时候 先是一惊. 这是代码 g = function () { H = 3 return H ...
- Mac Pro更换SSD后,在Win7下启用ACHI的方法AHCI
在Mac Pro下更换SSD后,如果安装Win7,要将SSD改为AHCI模式是非常麻烦的.本文介绍如何将Mac的Win7下的SSD改为AHCI方式驱动,及几种常见问题的处理. 一.当Lion与Win7 ...
- android有点纠结的小问题
1.点击一个listview的item,以popupwindow的形式展示一个菜单.popupwindow以动画的形式展现,可一直没有预期的效果 解决方案: popupWindow.setBackgr ...
- [Effective C++ --016]成对使用New和Delete时要采用相同形式
这一节比较简单,可以总结为以下: std::string *stringPtr1 = new std::string; std::]; .. delete stringPtr1; // delete ...
- UNIX标准化及实现之基本系统数据类型
历史上,某些UNIX系统变量已与某些C数据类型联系在一起.例如,历史上主.次设备号一直存放在一个16位的短整型中,8位表示主设备号,另外8位表示次设备号.但是,很多较大的系统需要用多于256个值来表示 ...
- C#_MVC_ajax for form
在上一篇介绍MVC中的Ajax实现方法的时候,曾经提到了除了使用Ajax HTML Helper方式来实现之外,Jquery也是实现Ajax的另外一种方案. 通过get方法实现AJax请求 View ...
- Linux 学习笔记 基本的bash shell命令
Linux 文件系统 Linux讲文件存储在单个目录结构(虚拟目录)中,虚拟目录包含了安装在PC上的所有存储设备的文件路径. Linux虚拟目录中比较复杂的部分是它如何来协调管理各个存储设备.Linu ...