如何在浏览器网页中实现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 ...
随机推荐
- Dom深入浅出
Dom1级提供了一个Node接口,该接口将由Dom中所有节点类型(包括元素节点.文本节点.属性节点等12种)实现,而js是作为Node类型来实现的,js中的所有节点类型的继承自Node类型, 所以它们 ...
- 多年的.NET开发,也只学会了这么几招
折腾了这么多年的.NET开发,也只学会了这么几招 软件开发不是生活的全部,但是好的生活全靠它了 随着工作年龄逐渐增加,身边的重担也越来越多.以前可以在公司加班到晚上10点,现在不行了.以前可以通宵 ...
- 剑指OFFER之第一个只出现一次的字符(九度OJ1283)
题目描述: 在一个字符串(1<=字符串长度<=10000,全部由大写字母组成)中找到第一个只出现一次的字符. 输入: 输入有多组数据每一组输入一个字符串. 输出: 输出第一个只出现一次的字 ...
- 框架中web.xml中配置文件解析
1.XSS指跨站脚本攻击 xss表示Cross Site Scripting(跨站脚本攻击),它与SQL注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改/删除数据的目的,而在 ...
- SQLite使用教程5 分离数据库
http://www.runoob.com/sqlite/sqlite-detach-database.html SQLite 分离数据库 SQLite的 DETACH DTABASE 语句是用来把命 ...
- Lync边缘服务器配置
以下步骤均使用Lync管理员权限即可完成 1.在前端下载并编辑拓扑,新建边缘池 如果边缘池中只有一台服务器,则池名称与服务器名称相同,如下: 如果需要删除边缘池,则需要先取消关联,如下: 2.发布拓扑 ...
- delphi 连接mysql
Delphi连接MySQL真麻烦,研究了一天,从网上找了无数文章,下载了无数插件都没解决.最后返璞归真,老老实实用ADO来连接,发现也不是很顺利,但最终还是连接成功了.多少有点心得:ADO各个组件的作 ...
- ArrowDrawable
https://github.com/wly2014/ArrowDrawable https://github.com/ChrisRenke/DrawerArrowDrawable
- SQL Server查询所有用户表
select name from sysobjects where xtype='u' order by name
- 【Android动画】之Tween动画 (渐变、缩放、位移、旋转)
Android 平台提供了两类动画. 一类是Tween动画,就是对场景里的对象不断的进行图像变化来产生动画效果(旋转.平移.放缩和渐变). 第二类就是 Frame动画,即顺序的播放事先做好的图像,与g ...