Java小程序基础

首先让我们了解GUI支持多少个包:

null
  1. AWT(抽象窗口工具包)
  2. 摆动

回归制作GUI应用程序: Java于1996年1月23日推出(JDK 1.0),当时它只支持CUI(字符用户界面)应用程序。但在1996年,微软的VB(Visual Basic)成为GUI编程的首选。因此,匆匆忙忙(即7天内)的Java开发人员已经提供了操作系统(OS)对GUI的支持。现在,button等组件取决于平台(即在每个平台上都会有不同的大小、形状和按钮)。但是他们将所有平台上的这些组件进行了交叉,并提供了一个包含这些交叉点的小型库,该库采用AWT(抽象窗口工具包)技术,但没有对话框等高级功能。

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

什么是Applet? 小程序是一种可以嵌入网页的Java程序。它在web浏览器中运行,在客户端工作。小程序使用小程序或对象标记嵌入HTML页面,并托管在web服务器上。 小程序用于使网站更具活力和娱乐性。

要点:

  1. 所有小程序都是 JAVA小程序。小程序
  2. 小程序不是独立的程序。相反,它们可以在web浏览器或小程序查看器中运行。JDK提供了一个名为applet viewer的标准applet viewer工具。
  3. 通常,小程序的执行不会从main()方法开始。
  4. 小程序窗口的输出不是由 系统出来println() .而是通过各种AWT方法进行处理,例如 拉绳 .

小程序的生命周期:

图片[1]-Java小程序基础-yiteyi-C++库

理解上图中显示的各种方法的调用顺序很重要。小程序启动时,按以下顺序调用以下方法:

  1. init()
  2. 开始()
  3. 油漆()

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

  1. 停止()
  2. 摧毁()

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

1.init(): 这个 init() 方法是第一个被调用的方法。这是你应该初始化变量的地方。这个方法叫做 只有一次 在小程序运行期间。

2.开始(): 这个 开始() 方法在之后调用 init() 。它也被调用以在小程序停止后重新启动小程序。注意 init() 调用一次,即第一次加载小程序时 开始() 每次小程序的HTML文档显示在屏幕上时调用。因此,如果用户离开网页并返回,小程序将在 开始() .

3.油漆(): 这个 油漆() 每次必须重新绘制基于AWT的小程序的输出时,都会调用。出现这种情况可能有几个原因。例如,运行小程序的窗口可能会被另一个窗口覆盖,然后被打开。或者,小程序窗口可以最小化,然后恢复。 油漆() 在小程序开始执行时也会调用。无论什么原因,只要小程序必须重新绘制其输出, 油漆() 被称为。 这个 油漆() 方法有一个类型为的参数 图样 。此参数将包含图形上下文,该上下文描述小程序运行时的图形环境。每当需要输出到小程序时,都会使用此上下文。 注:这是上述所有方法中唯一一个参数化的方法。它的原型是 公共空间涂料(图g) 其中g是类图形的对象引用。

现在 问题出现了:

Q 在paint()方法的原型中,我们创建了一个对象引用,但没有创建它的对象。但是,在不创建对象的情况下,如何创建对象引用呢?

答案。 每当我们在参数中传递对象引用时,对象将由其调用者本身提供。在本例中,paint()方法的调用方是browser,因此它将提供一个对象。当我们在普通Java程序中创建一个非常基本的程序时,也会发生同样的事情。例如:

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

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

4.停止(): 这个 停止() 例如,当web浏览器在转到另一个页面时离开包含小程序的HTML文档时,将调用。什么时候 停止() 调用时,小程序可能正在运行。你应该使用 停止() 在小程序不可见时暂停不需要运行的线程。您可以在需要时重新启动它们 开始() 如果用户返回页面,则调用。

5.销毁(): 这个 摧毁() 当环境确定小程序需要从内存中完全删除时,将调用。此时,您应该释放小程序可能正在使用的所有资源。这个 停止() 方法总是在之前调用 摧毁() .

创建Hello World小程序: 让我们从HelloWorld小程序开始:

JAVA

// A Hello World Applet
// Save file as HelloWorld.java
import java.applet.Applet;
import java.awt.Graphics;
// HelloWorld class extends Applet
public 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(抽象窗口工具包)的小程序必须是小程序类的子类(直接或间接)。第二条语句导入 图样 来自AWT包的类。
  2. 程序的下一行声明类HelloWorld。这个类必须声明为public,因为它将被程序之外的代码访问。在地狱世界里, 油漆() 已宣布。此方法由AWT定义,必须由小程序覆盖。
  3. 在…内 油漆() 是打电话给 抽绳() ,它是 图样 班此方法输出从指定X,Y位置开始的字符串。其一般形式如下:
void drawString(String message, int x, int y)

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

请注意,小程序没有 主要的() 方法与Java程序不同的是,小应用程序不会在任何时候开始执行 主要的() .事实上,大多数小程序甚至没有 主要的() 方法相反,当小程序的类名传递给小程序查看器或网络浏览器时,小程序开始执行。

运行HelloWorld小程序: 输入HelloWorld的源代码后。java,以编译java程序的相同方式编译(使用 爪哇语 命令)。然而,使用 JAVA 命令将生成错误,因为它不是应用程序。

java HelloWorldError: Main method not found in class HelloWorld, please define the main method as:   public static void main(String[] args)

运行小程序的标准方式:

  1. 在与Java兼容的web浏览器中执行小程序。
  2. 使用小程序查看器,如标准工具小程序查看器。小程序查看器在窗口中执行小程序。这通常是测试小程序最快、最简单的方法。

下面将介绍每种方法。

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

<applet code="HelloWorld" width=200 height=60></applet>

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

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

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

appletviewer RunHelloWorld.html

HelloWorld Applet

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

JAVA

// A Hello World Applet
// Save file as HelloWorld.java
import java.applet.Applet;
import java.awt.Graphics;
/*
<applet code="HelloWorld" width=200 height=60>
</applet>
*/
// HelloWorld class extends Applet
public class HelloWorld extends Applet
{
// Overriding paint() method
@Override
public void paint(Graphics g)
{
g.drawString( "Hello World" , 20 , 20 );
}
}


使用这种方法,首先编译HelloWorld。java文件,然后只需运行以下命令即可运行小程序:

appletviewer HelloWorld

为了证明上述观点,即油漆被反复调用。

为了证明这一点,我们首先研究一下小程序中的“状态栏”是什么: “状态栏”在小程序的左下角窗口中可用。要使用状态栏并在其中写入内容,我们使用方法showStatus(),其原型为 公共状态(字符串) 默认情况下,状态栏显示“小程序已启动” 默认情况下,背景色为白色。

为了证明paint()方法被反复调用,下面是代码:

注意:此代码与Netbeans IDE有关。

JAVA

//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 package
import java.util.Date; // used
//to access Date object
public 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上的小程序功能

  • 显示web应用程序的动态网页。
  • 播放声音文件。
  • 显示文档
  • 播放动画

对Java小程序的限制

出于安全原因,Java小程序受到以下限制:

  1. 小程序无法加载库或定义本机方法。
  2. 小程序通常无法读取或写入执行主机上的文件。
  3. 小程序无法读取某些系统属性。
  4. 小程序无法建立网络连接,除非它来自主机。
  5. 小程序无法在执行它的主机上启动任何程序。

本文由 克里希纳·巴蒂亚和帕万·戈帕尔·拉亚帕蒂 并通过 苏里亚普里 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享