《java小应用程序(Applet)和java应用程序(Application)分别编写的简单计算器》
Application和Java Applet的区别。
Java语言是一种半编译半解释的语言。Java的用户程序分为两类:Java Application和Java Applet。
这两类程序在组成结构和执行机制上都有一定的差异,主要体现在以下几方面:
(1)运行方式不同。Java Application是完整的程序,可以独立运行;Java Applet程序不能单独运行,
它必须嵌入到用HTML语言编写的Web页面中,通过与Java兼容的浏览器来控制执行。
(2)运行工具不同。Java Application程序被编译以后,用普通的Java解释器就可以使其边解释边执行,
而Java Applet必须通过网络浏览器或者Applet观察器才能执行。
(3)程序结构不同。每个Java Application程序必定含有一个并且只有一个main方法,程序执行时
首先寻找main方法,并以此为入口点开始运行。含有main方法的那个类,常被称为主类,也就是说
Java Application程序都含有一个主类。而Applet程序则没有含main方法的主类,这也正是Applet程序不能独立运行的原因。
尽管Applet没有含main方法的主类,但Applet一定有一个从 java.applet.Applet派生的类,它是由Java系统提供的。
(4)受到的限制不同Java Application程序可以设计成能进行各种操作的程序,包括读/写文件的操作
但是 Java Applet 对站点的磁盘文件既不能进行读操作,也不能进行写 操作。然而,由于Applet的引入
使Web页面具有动态多媒体效果和可交互性能,这使由名为超文本、实为纯文本的HTML语言编写成的Web页面真正具有了超文本功能
不但可以显示文本信息,而且还可以有各种图片效果和动态图形效果,从而使页面显得生动美丽;另外,Applet使Web页面增加了按钮等功能,从而增加了交互性。 1 //用Java小应用程序(Applet)编写一个简单的计算器。(Java语言程序设计教程 第二版 第173页 习题) import java.applet.Applet;
import java.awt.TextField;
import java.awt.Checkbox;
import java.awt.CheckboxGroup;
import java.awt.Button;
import java.awt.event.ItemEvent;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemListener; public class Test1 extends Applet implements ActionListener,ItemListener
{
int n = 0;
TextField tf1 = new TextField(5);
Checkbox[] c = new Checkbox[4];
CheckboxGroup cg = new CheckboxGroup();
TextField tf2 = new TextField(5);
Button bt = new Button("等于");
TextField tf3 = new TextField(10);
String[] str = {"+","-","*","/"}; public void init(){
this.add(tf1);
for(int i=0;i<str.length;i++){
c[i] = new Checkbox(str[i],false,cg);
this.add(c[i]);
}
this.add(tf2);
this.add(bt);
this.add(tf3);
tf3.setEditable(false); bt.addActionListener(this);
for(int i=0;i<str.length;i++){
c[i].addItemListener(this);
}
} public void itemStateChanged(ItemEvent e){
String s = (String)e.getItem();
for(int i=0;i<str.length;i++){
if(s == str[i]){
n = i;
}
}
}
public void actionPerformed(ActionEvent e){
if(e.getSource() == bt){
switch(n){
case 0:
tf3.setText((Double.parseDouble(tf1.getText())) + (Double.parseDouble(tf2.getText()))+"");
break;
case 1:
tf3.setText((Double.parseDouble(tf1.getText()))-(Double.parseDouble(tf2.getText()))+"");
break;
case 2:
tf3.setText((Double.parseDouble(tf1.getText()))*(Double.parseDouble(tf2.getText()))+"");
break;
case 3:
tf3.setText((Double.parseDouble(tf1.getText()))/(Double.parseDouble(tf2.getText()))+"");
break;
}
}
}
} //<applet code = Test1.class width = 400 height = 100></applet>

//用Java应用程序(Application)编写一个简单的计算器。(Java语言程序设计教程 第二版 第173页 习题)
//这个应用程序还可以添加菜单,以后慢慢添加完善.
package myclass; import java.awt.Frame;
import java.awt.TextField;
import java.awt.Checkbox;
import java.awt.CheckboxGroup;
import java.awt.Button;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.ItemListener;
import java.awt.event.ItemEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.FlowLayout; public class Test2
{
int n = 0;//定义一个全局变量。
private Frame f;
private TextField tf1;
private Checkbox[] c;
private CheckboxGroup cg;
private TextField tf2;
private Button bt;
private TextField tf3;
String[] str = {"+","-","*","/"}; public Test2(){
init();
addEvents();
} public void init(){
f = new Frame("计算器");
f.setLayout(new FlowLayout());
//f.setBounds(600,100,400,200);
tf1 = new TextField(5);
f.add(tf1);
c = new Checkbox[4];
for(int i=0;i<str.length;i++){
c[i] = new Checkbox(str[i],false,cg);
f.add(c[i]);
}
tf2 = new TextField(5);
f.add(tf2);
bt = new Button("等于");
f.add(bt);
tf3 = new TextField(10);
f.add(tf3);
tf3.setEditable(false);
f.pack();
f.setVisible(true);
} public void addEvents(){ f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
}); //为复选框组件添加事件监听器.
for(int i=0;i<str.length;i++){
c[i].addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent e){
String st = (String)e.getItem();
for(int i=0;i<str.length;i++){
if(st == str[i])
n = i;
}
}
});
} //为按钮天剑事件监听器.
bt.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
if(e.getSource() == bt){
switch(n){
case 0:
tf3.setText((Double.parseDouble(tf1.getText())) + (Double.parseDouble(tf2.getText())) + "");
break;
case 1:
tf3.setText((Double.parseDouble(tf1.getText()))-(Double.parseDouble(tf2.getText()))+"");
break;
case 2:
tf3.setText((Double.parseDouble(tf1.getText()))*(Double.parseDouble(tf2.getText()))+"");
break;
case 3:
tf3.setText((Double.parseDouble(tf1.getText()))/(Double.parseDouble(tf2.getText()))+"");
break;
}
}
}
});
}
public static void main(String[] args)
{
new Test2();
}
}

Application和Java Applet的区别。
Java语言是一种半编译半解释的语言。Java的用户程序分为两类:Java Application和Java Applet。
这两类程序在组成结构和执行机制上都有一定的差异,主要体现在以下几方面:
(1)运行方式不同。Java Application是完整的程序,可以独立运行;Java Applet程序不能单独运行,
它必须嵌入到用HTML语言编写的Web页面中,通过与Java兼容的浏览器来控制执行。
(2)运行工具不同。Java Application程序被编译以后,用普通的Java解释器就可以使其边解释边执行,
而Java Applet必须通过网络浏览器或者Applet观察器才能执行。
(3)程序结构不同。每个Java Application程序必定含有一个并且只有一个main方法,程序执行时
首先寻找main方法,并以此为入口点开始运行。含有main方法的那个类,常被称为主类,也就是说
Java Application程序都含有一个主类。而Applet程序则没有含main方法的主类,这也正是Applet程序不能独立运行的原因。
尽管Applet没有含main方法的主类,但Applet一定有一个从 java.applet.Applet派生的类,它是由Java系统提供的。
(4)受到的限制不同Java Application程序可以设计成能进行各种操作的程序,包括读/写文件的操作
但是 Java Applet 对站点的磁盘文件既不能进行读操作,也不能进行写 操作。然而,由于Applet的引入
使Web页面具有动态多媒体效果和可交互性能,这使由名为超文本、实为纯文本的HTML语言编写成的Web页面真正具有了超文本功能
不但可以显示文本信息,而且还可以有各种图片效果和动态图形效果,从而使页面显得生动美丽;另外,Applet使Web页面增加了按钮等功能,从而增加了交互性。
《java小应用程序(Applet)和java应用程序(Application)分别编写的简单计算器》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- VS中Qt的探索02
边看C++ GUI QT4教程,边在VS2010中进行编程学习探索. 在使用Qt设计师时,其中每一个对象的ObjectName属性是非常重要的,在程序功能的实现过程中,需要不断的使用该变量名. 当所有 ...
- unity自带寻路Navmesh入门教程(三)
继续介绍NavMesh寻路的功能,接下来阿赵打算讲一下以下两个例子,先看看完成的效果: 第一个例子对于喜欢DOTA的朋友应该很熟悉了,就是不同小队分不同路线进攻的寻路,红绿蓝三个队伍分别根据三条路 ...
- 【adb】adb基本命令总结
adb常用基本命令如下: adb devices 列出你的devices aapt dump badging <file_path.apk> 查看包名 adb ...
- 谈谈javascript中的日期Date对象
一.日期对象 在javascript中并没有日期型的数据类型,但是提供了一个日期对象可以操作日期和时间. 日期对象的创建: new Date();二.将日期对象转换为字符串 将日期对象转换为字 ...
- python中的动态变量
def make_name(): names = locals() for i in range(1, 10): names['t%s' % i] = i print names['t%s' % i]
- oracle笔记
一.sql*plus常用命令 (1)connect 用法:conn 用户名/密码@网络服务名[as sysdba/sysoper] 当特权用户连接时,必须带上as sysdba或是as sysoper ...
- 安装linux操作系统
安装双操作系统; 1 0. 介绍: 1 1 实验环境: 2 2. 实验准备: 2 3.开始安装: 2 1 制作U盘启动工具: 2 2.安装LinuxOS. 3 2.1在windowOS中划分60G空间 ...
- 我的毕业设计——基于安卓和.NET的笔记本电脑远程控制系统
手机端: 电脑端: 答辩完成后会开放代码.
- Visual Studio Code中文文档(一)-快速入门
Visual Studio Code是一个轻量级但是十分强大的源代码编辑器,重要的是它在Windows, OS X 和Linux操作系统的桌面上均可运行.Visual Studio Code内置了对J ...
- Python从零开始(1)新手常问
如何清除屏幕 如果是在Windows命令行中,输入 import os os.system('cls') 在IDEL中没有找到完美的清除屏幕的方法 网上提到用新建窗口的方法 如何退出Python提示符 ...