Java 小程序基础知识
我们先来了解下GUI支持多少个Package:
AWT(抽象窗口工具包)
摇摆
制作 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 服务器上。
小程序用于使网站更具活力和娱乐性。
要点:
所有小程序都是java.applet.Applet类的子类(直接或间接)。
小程序不是立的程序。相反,它们在 Web 浏览器或小程序查看器中运行。JDK 提供了个标准的小程序查看器工具,称为小程序查看器。
通常,applet 的执行不是从 main() 方法开始的。
小程序窗口的输出不是由System.out.println()执行的。而是使用各种 AWT 方法处理它,例如drawString()。
小程序的生命周期:
了解上图中显示的各种方法的调用顺序很重要。当小程序开始时,将按以下顺序调用以下方法:
在里面( )
开始( )
画( )
当小程序终止时,会发生以下方法调用序列:
停止( )
破坏( )
让我们更仔细地看看这些方法。
的init():该的init()方法被调用的个方法。这是您应该初始化变量的地方。此方法在小程序运行期间仅调用次。
开始():该起动()方法被调用后的init() 。它还被调用以在小程序停止后重新启动它。请注意,init()被调用次,即在次加载小程序时调用,而start()每次小程序的 HTML 文档显示在屏幕上时都会调用。因此,如果用户离开网页并返回,小程序会在start()处恢复执行。
漆():该涂料()方法每次基于AWT的applet的输出必须是重绘调用。出现这种情况的原因有多种。例如,运行小程序的窗口可能被另个窗口覆盖,然后被覆盖。或者小程序窗口可以小化然后恢复。
当小程序开始执行时也调用paint()。不管是什么原因,只要小程序必须重绘它的输出,就调用paint()。
的涂料()方法有类型的个参数的图形。该参数将包含图形上下文,它描述了小程序运行的图形环境。每当需要向小程序输出时,就会使用此上下文。
注意:这是上面提到的所有方法中唯的方法,它是参数化的。它的原型是
public void paint(Graphics g)
,其中g 是Graphic 类的对象引用。
现在问题来了:
问:在paint()方法的原型中,我们创建了个对象引用,而没有创建它的对象。但是如何在不创建对象的情况下创建对象引用呢?
答。每当我们在参数中传递对象引用时,对象将由其调用者本身提供。在这种情况下,paint() 方法的调用者是浏览器,因此它将提供个对象。当我们在普通 Java 程序中创建个非常基本的程序时,也会发生同样的事情。例如:
public static void main(String []args){}
这里我们创建了个对象引用,但没有创建它的对象,但它仍然运行,因为它是调用者,即 JVM 会为它提供个对象。
停止():将停止()方法被调用时,Web浏览器的叶子含有HTML文档的小程序,当它到另个网页,例如。当stop()被调用时,小程序可能正在运行。当小程序不可见时,您应该使用stop( )来挂起不需要运行的线程。如果用户返回页面,您可以在调用start()时重新启动它们。
destroy()方法:将销毁()当环境决定了你的小程序需要从内存中完全去除方法被调用。此时,您应该释放小程序可能正在使用的所有资源。将停止()方法总是调用之前destroy()方法。
创建 Hello World 小程序:
让我们从 HelloWorld 小程序开始:
解释:
上面的java程序以两条import语句开始。个 import 语句从 applet 包中导入 Applet 类。您创建的每个基于 AWT(抽象窗口工具包)的小程序都必须是 Applet 类的子类(直接或间接)。第二个语句从 AWT 包中导入Graphics类。
程序的下行声明了类 HelloWorld。此类必须声明为公共类,因为它将被程序外部的代码访问。在 HelloWorld 中,paint()被声明。此方法由 AWT 定义,必须由小程序覆盖。
在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)
您可以通过两种标准方式运行小程序:
在与 Java 兼容的 Web 浏览器中执行小程序。
使用小程序查看器,例如标准工具小程序查看器。小程序查看器在窗口中执行您的小程序。这通常是测试您的小程序的快和简单的方法。
下面将介绍这些方法中的每种。
使用支持 Java 的网络浏览器:要在网络浏览器中执行小程序,我们必须编写个简短的 HTML 文本文件,其中包含加载小程序的标签。为此,我们可以使用 APPLET 或 OBJECT 标签。使用 APPLET,这是执行 HelloWorld 的 HTML 文件:
width 和 height 语句指定小程序使用的显示区域的尺寸。APPLET 标签包含其他几个选项。创建此 html 文件后,您可以使用它来执行小程序。
注意: Chrome 和 Firefox 不再支持 NPAPI(Java 小程序所需的技术)。参考这里
使用小程序查看器:这是运行小程序的简单方法。要使用小程序查看器执行 HelloWorld,您还可以执行前面显示的 HTML 文件。例如,如果前面的 HTML 文件与
RunHelloWorld.html 起保存,则以下命令行将运行 HelloWorld :
小程序查看器 RunHelloWorld.html
带有 java 源文件的 appletviewer :如果您在包含 APPLET 标记的 Java 源代码文件的开头包含注释,那么您的代码将使用必要的 HTML 语句的原型进行记录,并且您只需启动带有 Java 源代码文件的小程序查看器。如果使用此方法,HelloWorld 源文件如下所示:
使用这种方法,先编译 HelloWorld.java 文件,然后简单地运行下面的命令来运行小程序:
小程序查看器HelloWorld
为了证明上面提到的点,即次又次地调用paint。
为了证明这点,我们先来研究下什么是Applet中的
“状态栏” :“状态栏”位于小程序的左下方窗口中。要使用状态栏并在其中写入内容,我们使用方法 showStatus(),其原型为
public void showStatus(String)
默认状态栏显示“Applet Started”
默认背景颜色为白色。
为了证明paint()方法被次又次地调用,这里是代码:
注意:这段代码是关于Netbeans IDE的。
注意:- 在这里我们可以看到,如果屏幕大化或小化,我们将获得更新时间。这表明paint() 被次又次地调用。
基于 HTML 的 Applet 的功能
对 Java 小程序施加的限制
出于安全原因,对 Java 小程序施加了以下限制:
显示 Web 应用程序的动态网页。
播放声音文件。
显示文件
播放动画
小程序无法加载库或定义本机方法。
小程序通常无法在执行主机上读取或写入文件。
小程序无法读取某些系统属性。
小程序除了与它来自的主机外不能建立网络连接。
小程序不能在执行它的主机上启动任何程序。
相关文章
服务热线:0632-5272123,0632-5271123
业务咨询:13969468882,18006320170
营销中心:山东省 枣庄市 市中区 中坚1878 A406室
邮箱:kf@zzint.com