首页 小程序 小程序新闻中心 详情

Java 小程序基础知识

2019-08-14

我们先来了解下GUI支持多少个Package:

  1. AWT(抽象窗口工具包)

  2. 摇摆

制作 GUI 应用程序的回馈:

Java 于 1996 年 1 月 23 日(JDK 1.0)推出,当时它仅支持 CUI(字符用户界面)应用程序。但在 1996 年,微软的 VB(Visual Basic)成为 GUI 编程的选。因此,Java 开发人员急于(即在 7 天内)从操作系统(OS)中提供了对 GUI 的支持。现在,按钮等组件。是平台相关的(即在每个平台中会有不同的大小、形状按钮)。但是他们做了来自所有平台的这些组件的交集,并提供了个包含这些交集的小库,它在 AWT(抽象窗口工具包)技术中可用,但它没有对话框等高级功能。

现在要运行 Applet,java 需要个浏览器,当时只有“Internet Explorer”是微软的,但微软相信垄断。所以“SUN Micro-System”(开发Java的公司)与另家名为“Netscape”(开发Java Script)的公司签约,现在“Netscape”公司也被称为“Mozilla Firefox”,众所周知,这是个浏览器。现在,这两家公司开发了种名为“SWING”的技术,好处是 SWING 组件是由 Java 自己生产的。因此,现在它是立于平台的,并且还添加了些 AWT 技术中没有的附加功能。所以我们可以说 SWING 比 AWT 技术先进得多。

什么是小程序?
小程序是可以嵌入到网页中的 Java 程序。它在 Web 浏览器内运行并在客户端工作。小程序使用 APPLET 或 OBJECT 标签嵌入 HTML 页面中,并托管在 Web 服务器上。

小程序用于使网站更具活力和娱乐性。

要点:

  1. 所有小程序都是java.applet.Applet类的子类(直接或间接)

  2. 小程序不是立的程序。相反,它们在 Web 浏览器或小程序查看器中运行。JDK 提供了个标准的小程序查看器工具,称为小程序查看器。

  3. 通常,applet 的执行不是从 main() 方法开始的。

  4. 小程序窗口的输出不是由System.out.println()执行的而是使用各种 AWT 方法处理它,例如drawString()

小程序的生命周期:

了解上图中显示的各种方法的调用顺序很重要。当小程序开始时,将按以下顺序调用以下方法:

  1. 在里面( )

  2. 开始( )

  3. 画( )

当小程序终止时,会发生以下方法调用序列:

  1. 停止( )

  2. 破坏( )

让我们更仔细地看看这些方法。

  1. 的init():的init()方法被调用的个方法。这是您应该初始化变量的地方。此方法在小程序运行期间调用

  2. 开始():起动()方法被调用后的init() 它还被调用以在小程序停止后重新启动它。请注意,init()被调用次,即在次加载小程序时调用,而start()每次小程序的 HTML 文档显示在屏幕上时都会调用。因此,如果用户离开网页并返回,小程序会在start()处恢复执行

  3. 漆():涂料()方法每次基于AWT的applet的输出必须是重绘调用。出现这种情况的原因有多种。例如,运行小程序的窗口可能被另个窗口覆盖,然后被覆盖。或者小程序窗口可以小化然后恢复。

    当小程序开始执行时也调用paint()不管是什么原因,只要小程序必须重绘它的输出,就调用paint()


    涂料()方法有类型的个参数的图形该参数将包含图形上下文,它描述了小程序运行的图形环境。每当需要向小程序输出时,就会使用此上下文。

注意:这是上面提到的所有方法中唯的方法,它是参数化的。它的原型是
public void paint(Graphics g)
,其中g 是Graphic 类的对象引用。

  1. 现在问题来了:
    在paint()方法的原型中,我们创建了个对象引用,而没有创建它的对象。但是如何在不创建对象的情况下创建对象引用呢?
    答。每当我们在参数中传递对象引用时,对象将由其调用者本身提供。在这种情况下,paint() 方法的调用者是浏览器,因此它将提供个对象。当我们在普通 Java 程序中创建个非常基本的程序时,也会发生同样的事情。例如:

    public static void main(String []args){}

    这里我们创建了个对象引用,但没有创建它的对象,但它仍然运行,因为它是调用者,即 JVM 会为它提供个对象。

  2. 停止():停止()方法被调用时,Web浏览器的叶子含有HTML文档的小程序,当它到另个网页,例如。stop()被调用时,小程序可能正在运行。当小程序不可见时,您应该使用stop( )来挂起不需要运行的线程。如果用户返回页面,您可以在调用start()时重新启动它们

  3. destroy()方法:销毁()当环境决定了你的小程序需要从内存中完全去除方法被调用。此时,您应该释放小程序可能正在使用的所有资源。停止()方法总是调用之前destroy()方法

创建 Hello World 小程序:

让我们从 HelloWorld 小程序开始:

// A Hello World Applet// Save file as HelloWorld.java  import java.applet.Applet;import java.awt.Graphics;  // HelloWorld class extends Appletpublic class HelloWorld extends Applet {    // Overriding paint() method    @Override    public void paint(Graphics g)     {        g.drawString("Hello World", 20, 20);    }      }

解释:

  1. 上面的java程序以两条import语句开始。个 import 语句从 applet 包中导入 Applet 类。您创建的每个基于 AWT(抽象窗口工具包)的小程序都必须是 Applet 类的子类(直接或间接)。第二个语句从 AWT 包中导入Graphics类。

  2. 程序的下行声明了类 HelloWorld。此类必须声明为公共类,因为它将被程序外部的代码访问。在 HelloWorld 中,paint()被声明。此方法由 AWT 定义,必须由小程序覆盖。

  3. paint()内部是对drawString()的调用,它是Graphics的成员此方法输出从指定 X,Y 位置开始的字符串。它具有以下般形式:

    void drawString(String message, int x, int y)

    这里,message 是从 x,y 开始输出的字符串。在 Java 窗口中,左上角是位置 0,0。在小程序中调用drawString()会导致从位置 20,20 开始显示消息“Hello World”。

请注意,小程序没有main()方法。与 Java 程序不同,applet 不在main()处开始执行事实上,大多数小程序甚至没有main()方法。相反,当小程序的类名被传递给小程序查看器或网络浏览器时,小程序开始执行。

运行 HelloWorld 小程序:

输入HelloWorld.java 的源代码后,以与编译java 程序相同的方式进行编译(使用javac命令)。但是,使用java命令运行 HelloWorld会产生错误,因为它不是应用程序。

你好世界  错误:在 HelloWorld 类中找不到 Main 方法,请将 main 方法定义为:    public static void main(String[] args)

您可以通过两种标准方式运行小程序:

  1. 在与 Java 兼容的 Web 浏览器中执行小程序。

  2. 使用小程序查看器,例如标准工具小程序查看器。小程序查看器在窗口中执行您的小程序。这通常是测试您的小程序的快和简单的方法。

下面将介绍这些方法中的每种。


  1. 使用支持 Java 的网络浏览器:要在网络浏览器中执行小程序,我们必须编写个简短的 HTML 文本文件,其中包含加载小程序的标签。为此,我们可以使用 APPLET 或 OBJECT 标签。使用 APPLET,这是执行 HelloWorld 的 HTML 文件:

     

    width 和 height 语句指定小程序使用的显示区域的尺寸。APPLET 标签包含其他几个选项。创建此 html 文件后,您可以使用它来执行小程序。

    注意: Chrome 和 Firefox 不再支持 NPAPI(Java 小程序所需的技术)。参考这里

  2. 使用小程序查看器:这是运行小程序的简单方法。要使用小程序查看器执行 HelloWorld,您还可以执行前面显示的 HTML 文件。例如,如果前面的 HTML 文件与
    RunHelloWorld.html 起保存,则以下命令行将运行 HelloWorld :

    小程序查看器 RunHelloWorld.html

    你好世界小程序

  3. 带有 java 源文件的 appletviewer :如果您在包含 APPLET 标记的 Java 源代码文件的开头包含注释,那么您的代码将使用必要的 HTML 语句的原型进行记录,并且您只需启动带有 Java 源代码文件的小程序查看器。如果使用此方法,HelloWorld 源文件如下所示:

  4. // A Hello World Applet// Save file as HelloWorld.java  import java.applet.Applet;import java.awt.Graphics;  /**/  // HelloWorld class extends Appletpublic class HelloWorld extends Applet {    // Overriding paint() method    @Override    public void paint(Graphics g)     {        g.drawString("Hello World", 20, 20);    }      }

    使用这种方法,先编译 HelloWorld.java 文件,然后简单地运行下面的命令来运行小程序:

    小程序查看器HelloWorld

    为了证明上面提到的点,即次又次地调用paint。
    为了证明这点,我们先来研究下什么是Applet中的
    “状态栏” “状态栏”位于小程序的左下方窗口中。要使用状态栏并在其中写入内容,我们使用方法 showStatus(),其原型为
    public void showStatus(String)
    默认状态栏显示“Applet Started”
    默认背景颜色为白色。

    为了证明paint()方法被次又次地调用,这里是代码:
    注意:这段代码是关于Netbeans IDE的。

  5. //code to illustrate paint //method gets called again//and again  import java.applet.*;// used//to access showStatus()import java.awt.*;//Graphic//class is available in this packageimport java.util.Date;// used //to access Date objectpublic class GFG extends Applet{public void paint(Graphics g){Date dt = new Date();super.showStatus("Today is" + dt);//in this line, super keyword is// avoidable too.}}

    注意:- 在这里我们可以看到,如果屏幕大化或小化,我们将获得更新时间。这表明paint() 被次又次地调用。

    基于 HTML 的 Applet 的功能

  6. 对 Java 小程序施加的限制
    出于安全原因,对 Java 小程序施加了以下限制:

    • 显示 Web 应用程序的动态网页。

    • 播放声音文件。

    • 显示文件

    • 播放动画

    1. 小程序无法加载库或定义本机方法。

    2. 小程序通常无法在执行主机上读取或写入文件。

    3. 小程序无法读取某些系统属性。

    4. 小程序除了与它来自的主机外不能建立网络连接。

    5. 小程序不能在执行它的主机上启动任何程序。

相关文章

微信小程序是针对中国市场的需求量身定制的...
Java 应用程序就像是在虚拟机的支持下...

contact us

服务热线:0632-52721230632-5271123

业务咨询:1396946888218006320170

营销中心:山东省 枣庄市 市中区 中坚1878 A406室

邮箱:kf@zzint.com

微信客服
在线联系
13969468882
返回顶部