Java Application程序与Java Applet程序的不同之处有那些

Java Application程序与Java Applet程序的不同之处有那些,第1张

运行方式不同程序结构不同,运行工具不同,受到的限制也不同

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程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10079286.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存