学习内容:

      Applet

      Applet一般称为小应用程序,Java Applet就是用Java语言编写的这样的一些小应用程序,它们可以通过嵌入到Web页面或者其他特定的容器中来运行,也可以通过Java开发工具的appletviewer来运行。Applet必须运行于某个特定的“容器”中,这个容器可以是浏览器(如IE,FireFox,Opear,Netscape等),也可以是通过各种插件,或者包括支持Applet的移动设备在内的其他各种程序来运行。与独立运行的Java应用程序不同,Applet有自己的一套执行流程,而不是通过main方法来开始执行程序,并且在运行过程中Applet通常会与用户进行交互操作,显示动态的页面效果,并且还会进行严格的安全检查,以防止潜在的不安全因素(如根据安全策略,限制Applet对客户端机器的文件系统进行访问等)。Java Applet可以实现图形图像绘制、字体和颜色控制、动画和音视频播放、人机交互以及网络通信等功能,此外,Java Applet还提供了称为抽象窗口工具箱(Abstract Window Toolkit,简称AWT)的窗口环境开发工具,AWT利用计算机的GUI技术,可以帮助用户轻松地建立标准的图形用户界面,如窗口、按钮、菜单、下拉框和滚动条等。现在,网络上已经有非常多的Applet收集站提供各种精彩范例来展现各种功能。

   import java.awt.*;

   import java.applet.*;
   public class HelloApplet extends Applet
   {
   public void paint(Graphics g )
   {
   g.drawString("Hello!",10,10);
   g.drawString("Welcome to Applet Programming!",30,30);
   }
   }

      程序开头两行的import语句是用来导入Applet小程序中用到的一些Java标准库类,类似于C语言中的include语句,多数Applet程序都会含有类似的代码,以使用JDK提供的功能;接下来在程序中定义了一个公共类HelloApplet,它通过extends继承于Applet类,并重写父类中的paint()方法,其中参数g为Graphics类的对象,代表当前绘画的上下文,在paint()方法中,两次调用g的drawString()方法,分别在坐标(10,10)和(30,30)处输出字符串“Hello!”和“Welcome to Applet Programming!”,其中的坐标是用像素点表示的,且以显示窗口的左上角作为坐标系的原点(0,0)。

      另外,Applet程序中没有出现main()方法。其实这正是Applet小程序与Application应用程序的重要区别之一。因为Applet小程序没有main()方法作为执行入口,因此必须将其放至在“容器”中加以执行,常见的做法是编写HTML文件,将Applet嵌入其中,然后用支持Java的浏览器或appletviewer工具来运行。

      Applet小程序的生命周期相对于Application而言较为复杂。在其生命周期中涉及到Applet类的4个方法:init()、start()、stop()和destroy(),Applet的生命周期中有相对应的4个状态:初始态、运行态、停止态和消亡态。当程序执行完init()方法后,Applet小程序就进入了初始态;然后立刻执行start()方法,Applet小程序进入运行态;当Applet小程序所在的浏览器图标化或者是转入其他页面时,该Applet小程序立刻执行stop ()方法,使Applet小程序进入停止态;在停止态中,如果浏览器又重新加载该Applet小程序所在的页面,或者是浏览器从图标中还原,则Applet小程序又会调用start()方法,进入运行态;不过,在停止态时,若浏览器被关闭,则Applet小程序会调用destroy()方法,使其进入消亡态。

      init()方法
      当Applet小程序第一次被加载执行时,便调用该方法,并且在小程序的整个生命周期中,只调用一次该方法,一般在其中进行一些初始化操作,如处理由浏览器传递来的参数、添加图形用户界面的组件、加载图像和音频文件等。另外需要说明的是:Applet小程序虽然有默认的构造方法,但它习惯于在init()方法中进行初始化操作,而不是在默认的构造方法内。

      start()方法
      系统在执行完init()方法后,将自行调用start()方法,并且每当浏览器从图标还原为窗口时,或者当用户离开包含该Applet小程序的页面后又返回时,系统都将重新执行一遍start()方法,因此start()方法在小程序的生命周期内可能会被调用多次,这一点是与init()方法不同的,此外,该方法通常作为Applet小程序的主体,在其内可以安排一些需要重复执行的任务或者重新激活一个线程,如打开一个数据库连接、播放动画或是启动一个播放音乐的线程等。

      stop()方法
      与start()方法相反,当用户离开Applet小程序所在的页面或者浏览器图标化时,系统会自动调用stop()方法,因此,该方法在Applet小程序的生命周期内也可能被多次调用。这样处理的好处是:当用户不再使用Applet小程序的时候,停掉一些耗用系统资源的任务(如断开数据库的连接或是中断一个线程的执行等),以提高系统的运行效率,况且这也并不需要人为地去干预。假如Applet小程序中不需要包含打开数据库连接或者播放动画、音乐等代码时,也可以不重载该方法。
       destroy()方法
      当浏览器或其他容器被关闭时,Java系统会自动调用destroy()方法。该方法通常用于回收init()方法中初始化的资源,在调用该方法之前,肯定已经调用了stop()方法。

      双缓冲技术是指当需要在屏幕上显示的图像文件又大又多时,利用该技术在屏幕外面创建一个虚拟的备用屏幕,计算机系统直接在备用屏幕上作画,等画完以后将备用屏幕中的点阵内容直接切换给当前屏幕。直接切换准备好的画面的速度要比在屏幕上当场作画(刷新画面)的速度快得多。

         双缓冲技术也可以这样解释:Java动画程序在显示动画图形之前,首先创建两个图形缓冲区:一个是为前台的显示缓冲;一个是为后台的图形缓冲,然后在显示(绘制)图形时,对两个缓冲区进行同步的图形数据更新,该操作相当于为前台显示区的数据作了一个后台的图形数据备份,当前台显示区的图形数据需要恢复时,可以用后台备份的图形数据来恢复,其具体方法则是重写paint()和update()方法,将备份好的图形数据一次性地画到显示屏幕上。

明天内容:

      HTML

遇到问题:
      无

学习java 7.28的更多相关文章

  1. 根据实践经验,讲述些学习Java web能少走的弯路,内容摘自java web轻量级开发面试教程

    在和不少比较上进的初级程序员打交道的过程中,我们总结出了一些能帮到合格程序员尽快进阶的经验,从总体上来讲,多学.多实践不吃亏.本文来是从 java web轻量级开发面试教程从摘录的. 1  哪些知识点 ...

  2. 推介一个学习JAVA的系列教程-狗鱼IT教程

    介绍一个学JAVA的零基础学习JAVA的网站,推介一个学习JAVA的系列教程-狗鱼IT教程 下面是java的系教程: 1、[java教程]Java 教程 2、[java教程]Java 简介 3、[ja ...

  3. 零基础如何学习java更有效呢?

    零基础学java,不知道该如何入手?也不知道学习的方向,很多人会问零基础怎么样学习,有没有什么入门的书籍推荐:只要方法正确,零基础学好java也是有机会的哦. 一.理解Java思想 Java是一门面向 ...

  4. 积极主动敲代码,使用Junit学习Java程序设计

    积极主动敲代码,使用JUnit学习Java 早起看到周筠老师在知乎的回答软件专业成绩很好但是实际能力很差怎么办?,很有感触. 从读大学算起,我敲过不下100本程序设计图书的代码,我的学习经验带来我的程 ...

  5. 如何接触学习java

    信息科技必将是未来的潮流,Java语言必将在时代的进步中发挥不可估量的作用,未来,掌握好一门实用而且有良好应用前景的技术是你们的首要任务. 零基础怎么学Java 多年Java教育培训经验事实表明,零基 ...

  6. 零基础如何系统学习Java Web

    零基础如何系统学习Java Web?   我来给你说一说 你要下决心,我要转行做开发,这样你才能学成. 你要会打字,我公司原来有一个程序员,打字都是两个手一指禅,身为程序员你一指禅怎么写出的代码,半个 ...

  7. (转)如何学习Java技术?谈Java学习之路

    51CTO编者注:这篇文章已经是有数年“网龄”的老文,不过在今天看来仍然经典.如何学习Java?本篇文章可以说也是面对编程初学者的一篇指导文章,其中对于如何学习Java的步骤的介绍,很多也适用于开发领 ...

  8. 《疯狂Java讲义》(一) ---- 关于学习Java的反思

    "听到Spring很火,就立马买来一本Spring的书来读,最后结果往往是失败,因为这种学习没有积累,没有根基,学习过程中困难重重,每天都被一些相同.类似的问题所困扰,起初热情十足,经常上论 ...

  9. 十天来学习java的心得体会

    有关学习java是几天来的心得体会: 十天学习java遇到很多问题,每个问题都是经过反复的看书本以及上网查找资料来解决的,发现这一点真的需要自己来而不是去遇到什么问题就去依靠他人(师兄.同学).在其中 ...

随机推荐

  1. Spring MVC:DispatchServlet类

    Spring MVC架构 Spring Web MVC是基于Servlet API构建的原始Web框架,从一开始就已包含在Spring框架中.传统的模型层被拆分为了业务层(Service)和数据访问层 ...

  2. hdu 2473 Junk-Mail Filter(并查集)

    题意: N个邮件需要鉴别. 两种操作: 1. M X Y:X和Y是同一种邮件 2.S X:X被误判(意味着X要被它从属的那个集合"踢出去"而所有其它的邮件的关系保持不变) 问最后总 ...

  3. Tcpdump 常用命令、参数记录

    一.介绍 一个关于Centos  Tcpdump 的个人工作总结. 二.参数介绍: 1. -i:   指定要进行抓包的网卡 2.-s0 :表示每个报文的大小是接收到的指定大小,如果没有这个选项,则超过 ...

  4. 通过silky框架在.net平台构建微服务应用

    目录 必要前提 使用Web主机构建微服务应用 使用.NET通用主机构建微服务应用 构建具有websocket服务能力的微服务应用 构建Silky微服务网关 开源地址 在线文档 在线示例 必要前提 (必 ...

  5. Oracle 19c 没有匹配的协议

    Oracle12c连接问题ORA-28040:没有匹配的验证协议 造成改问题的原因是客户端版本太低.修改sqlnet.ora文件可以让服务器适配低版本的客户端 sqlnet.ora文件中加入 SQLN ...

  6. newusers 拷贝服务器A上的用户,批量添加到其它服务器

    服务器B 需要添加多个用户,要求与服务器A 的用户列表一致 1.拷贝服务器A 上的 /etc/passwd 中用户信息,用user1-10为例 #grep ^user /etc/passwd > ...

  7. 创建双向 CA x509 验证证书 kube-apiserver

    1. 设置 kube-apiserver 的 CA 证书相关的文件和启动参数 使用 OpenSSL 工具在 Master 服务器上创建 CA 证书和私钥相关的文件: # openssl genrsa ...

  8. prometheus(6)之常用服务监控

    监控常用服务 1.tomcat 2.redis 3.mysql 4.nginx 5.mongodb prometheus监控tomcat tomcat_exporter地址 https://githu ...

  9. IP基础 & 子网划分 & 路由寻址

    IP地址详解 IP地址概念 就像用身份证号码来区别毎个人一样,为了区别 网上的每台计算机,我们给因特网上的每一台计算机一个唯一的编号 ,我们把它称为IP地址 IP地址就是一个唯一标识 ,是一段网络编码 ...

  10. 攻防世界 Misc 新手练习区 ext3 bugku Writeup

    攻防世界 Misc 新手练习区 ext3 bugku Writeup 题目介绍 题目考点 WinHex工具的使用 linux磁盘挂载mount命令 Writeup 下载附件拖进winhex分析一下,查 ...