
Java的用户程序分为两类:Java Application和Java Applet。这两类程序在组成结构和执行机制上都有一定的差异,主要体现在以下几方面: (1)运行方式不同。Java Application是完整的程序,可以独立运行;Java Applet程序不能单独运行,它必须嵌入到用HTML语言编写的Web页面中,通过与Java兼容的浏览器来控制执行
(2)运行工具不同。Java Application程序被编译以后,用普通的Java解释器就可以使其边解释边执行,而Java Applet必须通过网络浏览器或者Applet观察器才能执行。
(3)程序结构不同。每个Java Application程序必定含有一个并且只有一个main方法,而Applet程序则没有含main方法的主类,这也正是Applet程序不能独立运行的原因。
(4)受到的限制不同Java Application程序可以设计成能进行各种 *** 作的程序,包括读/写文件的 *** 作,但是 Java Applet 对站点的磁盘文件既不能进行读 *** 作,也不能进行写 *** 作。
Java Applet和Java Application在结构方面的主要区别表现在:\x0d\ (1)运行方式不同。Java Applet程序不能单独运行,它必须依附于一个用HTML语言编写的网页并嵌入其中,通过与Java兼容的浏览器来控制执行。 Java Application是完整的程序,可以独立运行,只要有支持Java的虚拟机,它就可以独立运行而不需要其他文件的支持。\x0d\ (2)运行工具不同。运行Java Applet程序的解释器不是独立的软件,而是嵌在浏览器中作为浏览器软件的一部分。Java Application程序被编译以后,用普通的Java 解释器就可以使其边解释边执行,而Java Applet必须通过网络浏览器或者Applet观察器才能执行。\x0d\ (3)程序结构不同。每个Java Application程序必定含有一个并且只有一个main方法,程序执行时,首先寻找main方法,并以此为入口 点开始运行。含有main方法的那个类,常被称为主类,也就是说,Java Application程序都含有一个主类。而Applet程序则没有含 main方法的主类,这也正是Applet程序不能独立运行的原因。尽管Applet没有含main方法的主类,但Applet一定有一个 从 javaappletApplet派生的类,它是由Java系统提供的。\x0d\ (4)Java Applet程序可以直接利用浏览器或AppletViewer提供的图形用户界面,而Java Application程序则必须另外书写专用代码来营建自己的图形界面。\x0d\ (5)受到的限制不同Java Application程序可以设计成能进行各种 *** 作的程序,包括读/写文件的 *** 作,但是 Java Applet 对站 点的磁盘文件既不能进行读 *** 作,也不能进行写 *** 作。然而,由于 Applet的引入,使Web页面具有动态多媒体效果和可交互性能,这使由名为超文本、实为纯文本的HTML语言编写成的Web页面真正具有了超文本功 能,不但可以显示文本信息,而且还可以有各种效果和动态图形效果,从而使页面显得生动美丽;另外,Applet使Web页面增加了按钮等功能,从而增 加了交互性。
import javaappletApplet;
import javaawtButton;
import javaawtGraphics;
import javaawtTextField;
import javaawteventActionEvent;
import javaawteventActionListener;
import javaawteventKeyEvent;
import javaawteventKeyListener;
public class Numberpow extends Applet implements KeyListener
{
private TextField tf1,tf2;
private Button b;
public void init() {
// TODO Auto-generated method stub
tf1=new TextField(8);
tf2=new TextField(8);
tf2setEditable(false);
thisaddKeyListener(this);
tf1addKeyListener( this);
thisadd( tf1);
thisadd( tf2);
}
public void paint(Graphics g) {
// TODO Auto-generated method stub
gdrawString("按下空格键清空",20,100);
}
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
char ch=egetKeyChar();
if(ch==' ')
{
tf1setText( "");
tf2setText( "");
esetKeyChar('\n');
}
else if(ch>'9' || ch<'0')
{
esetKeyChar('\n');
}
else
{
String s=tf1getText()+ch ;
if(!sequals(""))
{
int i=IntegerparseInt( s);
i=(int)Mathpow( (double)i,20);
tf2setText( new Integer(i)toString() );
}
}
}
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
}
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
}
Java源程序:
import javaawt;
import javaawtevent;
import javaxswing;
public class TestCompareByApplet extends JApplet implements ActionListener{
JTextField txtNum1, txtNum2, txtResult;
JButton btnCompare;
//初始化控件
public void initComponents(){
txtNum1= new JTextField(10);
txtNum2= new JTextField(10);
txtResult= new JTextField(10);
btnCompare = new JButton("比较");
thissetLayout(new FlowLayout()); //设置窗体的布局管理器
thisadd(new JLabel("输入数字"));
thisadd(txtNum1);
thisadd(new JLabel("输入数字"));
thisadd(txtNum2);
thisadd(new JLabel("较大者"));
thisadd(txtResult);
thisadd(btnCompare);
btnCompareaddActionListener(this); //为按钮注册监控事件
thissetSize(300, 300);
thissetVisible(true);
}
//构造窗体对象
public TestCompareByApplet(){
initComponents();
}
@Override
public void actionPerformed(ActionEvent e) {
JButton btn = (JButton)egetSource(); //获得用户单击的事件源(按钮)
int num1, num2, result;
//验证输入是否为空
if(txtNum1getText()equals("") || txtNum2getText()equals("")){
JOptionPaneshowMessageDialog(this, "输入数字不能为空"); //d出对话框提示信息
return;
}
//验证是否输入了非数字
try{
num1 = IntegerparseInt(txtNum1getText()trim());
num2 = IntegerparseInt(txtNum2getText()trim());
}
catch(Exception ex){
JOptionPaneshowMessageDialog(this, "只能输入数字");
return;
}
//依次处理加、减、乘、除运算
if(btngetText()equals("比较")){
result = num1 > num2 num1 : num2;
txtResultsetText(result + ""); //输出运算结果
}
}
}
运行结果演示:
import javaawt;
public class test extends javaxswingJApplet{
public void paint(Graphics comp){
Graphics2D gt=(Graphics2D)comp;
gtdrawString("欢迎光临Java世界",getSize()width/2-60,getSize()height/2);
}
}
java中的applet不是直接运行的,他是通过class文件进行调用的。class是跨平台文件,所以在运行applet的时候实际上是在调用编译好的class文件进行显示。我这给你举个例子:
1在开发环境编译要执行的文件,例如hellowjava,编译成功后生成了hellowclass
2再新建一个网页文件 敲入代码段: <applet code="welcomeclass" width=320 height=180></applet>(其他html脚本照常存在!) (这个时候applet code 在调用的是class文件了,看见没?)
3这时用你的开发环境运行你的网页就能看见答案了!
希望能解决你的问题!
以上就是关于Java Application程序与Java Applet程序的不同之处有那些全部的内容,包括:Java Application程序与Java Applet程序的不同之处有那些、Java Application和Java Applet的区别、编写一个java Applet程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)