如何在浏览器网页中实现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外键不好使
原来是创建表时选择的类型不一样,应该是innoDB,而且关联的主表类型也必须是innoDB
- API功能测试如何实施(转载自测试之道 微信公众号)
什么是API 关于定义什么的,直接维基可得: API(Application Programming Interface,简称:API),又称为应用编程接口,就是软件系统不同组成部分衔接的约定.由于近 ...
- C#程序实现动态调用DLL的研究
摘 要:在<csdn开发高手>2004年第03期中的<化功大法——将DLL嵌入EXE>一文,介绍了如何把一个动态链接库作为一个资源嵌入到可执行文件,在可执行文件运行时,自动从资 ...
- Java的位运算符实例——与(&)、非(~)、或(|)、异或(^)
一.Java的位运算符实例——与(&).非(~).或(|).异或(^) 1.与(&) 0 & 2 = 0 0 0 0 0 1 0 0 1 0 2.非(~) ~0 = 7 0 0 ...
- .Net Core静态文件中间件StaticFiles的使用
以前,当我们的网站需要显示图片的时候,直接在网站目录下新建文件夹,把图片放在这个文件夹下,然后通过文件夹的路径就可以访问到. 但是在.net core中不可以这样,要通过中间件StaticFiles配 ...
- Cocos2d-x——CocosBuilder官方帮助文档翻译1 使用自定义类
原创:请注明转载! 在Cocos2d-x中使用CocosBuilder 使用自定义类 CocosBuilder的使用方法是通过自定义类.在CocosBuilder中选中一个对象并在属性栏中输入自定义类 ...
- AS问题解决系列1—Unable to execute DX错误
http://my.oschina.net/1pei/blog/478968 摘要 在将一个开源Android代码import到Android Studio 1.2.2中时,解决了编译期间出现的“Un ...
- iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效
ViewDidLoad中注册手势的部分代码如下: [cpp] view plaincopy UITapGestureRecognizer *oneTap = [[[UITapGestureRecogn ...
- Cocos2dx 小技巧(十一) 小人虽短,但能够旋转
转眼五一就到了,放假三天应该做些什么呢?窝在家里钻研技术?写博客?no no no no,这样的"伤害"自己的方式实在让我无法忍受.本来和大学那伙人越好了一起去哪里玩玩,喝酒聊天啥 ...
- WdatePicker开始日期不能大于结束日期
<input class="input_calendar inputcss" id="startDate" runat="server" ...