• 《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页 习题) 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页面增加了按钮等功能,从而增加了交互性。

  • 相关阅读:
    callback的实现
    TypeId和IidManager关系
    Blocks的实现
    定义返回Block的函数
    NSString与奇怪的retainCount
    ARC下的所有权修饰符
    MAC安装MYSQL
    找出数组中只出现一次的数
    写在复习MVC后
    UITableViewHeaderFooterView的封装
  • 原文地址:https://www.cnblogs.com/sun-/p/5592244.html
Copyright © 2020-2023  润新知