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页 习题) 2 3 import java.applet.Applet; 4 import java.awt.TextField; 5 import java.awt.Checkbox; 6 import java.awt.CheckboxGroup; 7 import java.awt.Button; 8 import java.awt.event.ItemEvent; 9 import java.awt.event.ActionEvent; 10 import java.awt.event.ActionListener; 11 import java.awt.event.ItemListener; 12 13 public class Test1 extends Applet implements ActionListener,ItemListener 14 { 15 int n = 0; 16 TextField tf1 = new TextField(5); 17 Checkbox[] c = new Checkbox[4]; 18 CheckboxGroup cg = new CheckboxGroup(); 19 TextField tf2 = new TextField(5); 20 Button bt = new Button("等于"); 21 TextField tf3 = new TextField(10); 22 String[] str = {"+","-","*","/"}; 23 24 public void init(){ 25 this.add(tf1); 26 for(int i=0;i<str.length;i++){ 27 c[i] = new Checkbox(str[i],false,cg); 28 this.add(c[i]); 29 } 30 this.add(tf2); 31 this.add(bt); 32 this.add(tf3); 33 tf3.setEditable(false); 34 35 bt.addActionListener(this); 36 for(int i=0;i<str.length;i++){ 37 c[i].addItemListener(this); 38 } 39 } 40 41 public void itemStateChanged(ItemEvent e){ 42 String s = (String)e.getItem(); 43 for(int i=0;i<str.length;i++){ 44 if(s == str[i]){ 45 n = i; 46 } 47 } 48 } 49 public void actionPerformed(ActionEvent e){ 50 if(e.getSource() == bt){ 51 switch(n){ 52 case 0: 53 tf3.setText((Double.parseDouble(tf1.getText())) + (Double.parseDouble(tf2.getText()))+""); 54 break; 55 case 1: 56 tf3.setText((Double.parseDouble(tf1.getText()))-(Double.parseDouble(tf2.getText()))+""); 57 break; 58 case 2: 59 tf3.setText((Double.parseDouble(tf1.getText()))*(Double.parseDouble(tf2.getText()))+""); 60 break; 61 case 3: 62 tf3.setText((Double.parseDouble(tf1.getText()))/(Double.parseDouble(tf2.getText()))+""); 63 break; 64 } 65 } 66 } 67 } 68 69 //<applet code = Test1.class width = 400 height = 100></applet>
1 //用Java应用程序(Application)编写一个简单的计算器。(Java语言程序设计教程 第二版 第173页 习题) 2 //这个应用程序还可以添加菜单,以后慢慢添加完善. 3 package myclass; 4 5 import java.awt.Frame; 6 import java.awt.TextField; 7 import java.awt.Checkbox; 8 import java.awt.CheckboxGroup; 9 import java.awt.Button; 10 import java.awt.event.ActionListener; 11 import java.awt.event.ActionEvent; 12 import java.awt.event.ItemListener; 13 import java.awt.event.ItemEvent; 14 import java.awt.event.WindowAdapter; 15 import java.awt.event.WindowEvent; 16 import java.awt.FlowLayout; 17 18 public class Test2 19 { 20 int n = 0;//定义一个全局变量。 21 private Frame f; 22 private TextField tf1; 23 private Checkbox[] c; 24 private CheckboxGroup cg; 25 private TextField tf2; 26 private Button bt; 27 private TextField tf3; 28 String[] str = {"+","-","*","/"}; 29 30 public Test2(){ 31 init(); 32 addEvents(); 33 } 34 35 public void init(){ 36 f = new Frame("计算器"); 37 f.setLayout(new FlowLayout()); 38 //f.setBounds(600,100,400,200); 39 tf1 = new TextField(5); 40 f.add(tf1); 41 c = new Checkbox[4]; 42 for(int i=0;i<str.length;i++){ 43 c[i] = new Checkbox(str[i],false,cg); 44 f.add(c[i]); 45 } 46 tf2 = new TextField(5); 47 f.add(tf2); 48 bt = new Button("等于"); 49 f.add(bt); 50 tf3 = new TextField(10); 51 f.add(tf3); 52 tf3.setEditable(false); 53 f.pack(); 54 f.setVisible(true); 55 } 56 57 public void addEvents(){ 58 59 f.addWindowListener(new WindowAdapter(){ 60 public void windowClosing(WindowEvent e){ 61 System.exit(0); 62 } 63 }); 64 65 66 //为复选框组件添加事件监听器. 67 for(int i=0;i<str.length;i++){ 68 c[i].addItemListener(new ItemListener(){ 69 public void itemStateChanged(ItemEvent e){ 70 String st = (String)e.getItem(); 71 for(int i=0;i<str.length;i++){ 72 if(st == str[i]) 73 n = i; 74 } 75 } 76 }); 77 } 78 79 //为按钮天剑事件监听器. 80 bt.addActionListener(new ActionListener(){ 81 public void actionPerformed(ActionEvent e){ 82 if(e.getSource() == bt){ 83 switch(n){ 84 case 0: 85 tf3.setText((Double.parseDouble(tf1.getText())) + (Double.parseDouble(tf2.getText())) + ""); 86 break; 87 case 1: 88 tf3.setText((Double.parseDouble(tf1.getText()))-(Double.parseDouble(tf2.getText()))+""); 89 break; 90 case 2: 91 tf3.setText((Double.parseDouble(tf1.getText()))*(Double.parseDouble(tf2.getText()))+""); 92 break; 93 case 3: 94 tf3.setText((Double.parseDouble(tf1.getText()))/(Double.parseDouble(tf2.getText()))+""); 95 break; 96 } 97 } 98 } 99 }); 100 } 101 public static void main(String[] args) 102 { 103 new Test2(); 104 } 105 }
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页面增加了按钮等功能,从而增加了交互性。