Java图形用户界面之Applet设计

Java图形用户界面之Applet设计JavaApplet 是一种用 Java 编写的 含有可视化内容并嵌入在网页中 由浏览器软件下载并运行的程序

大家好,欢迎来到IT知识分享网。


前言

推荐一个网站给想要了解或者学习人工智能知识的读者,这个网站里内容讲解通俗易懂且风趣幽默,对我帮助很大。我想与大家分享这个宝藏网站,请点击下方链接查看。
https://www.captainbed.cn/f1
Java Applet 是一种用Java编写的、含有可视化内容并嵌入在网页中、由浏览器软件下载并运行的程序。它的编辑和编译过程与 Java Application(Java 应用程序)相同,但它的结构与 Java 应用程序不同。

Java Applet 没有程序执行的入口 main()方法,不能独立运行,因此 Java Applet 应嵌入在一个网页内,由浏览器软件解释执行。在Java Applet中,可以实现图形绘制、字体和颜色控制、动画和声音的播放、人机交互及网络交流等功能。由于 Java Applet 能够跨平台、跨网络进行传输,而且为网页提供了动态的、交互的内容,因此其在 Internet 上得到了很好的应用。


一、Applet的基本工作原理与使用局限

Applet的基本工作原理

Java Applet 通过<APPLET><IAPPLET>标签嵌入 HTML 网页,当用户使用浏览器软件浏览这个HTML 页面时,浏览器通过文件名找到 Java Applet 字节码文件并下载到用户的机器上,利用浏览器的Java解释器直接执行该字节码。Applet的基本工作原理如图所示。
在这里插入图片描述
由于有浏览器的支持,Applet 不需要建立自己的主流程框架,也不需要有专门的图形界面。Applet 需要做的就是接收和响应浏览器发来的消息或事件。

下面以一个功能简单的Java Applet 为例,介绍 Java Applet的结构及运行过程,它的运行结果是输出一条信息“Hello World!”。

代码示例

ps:Applet自JDK9开始已经被弃用,需要更改JDK

一个简单的Java Applet的结构通常包括以下方法:

  1. init():初始化方法,用于设置Applet的初始状态和变量。
  2. start():启动方法,用于开始Applet的执行。
  3. stop():停止方法,用于暂停Applet的执行。
  4. destroy():销毁方法,用于释放Applet占用的资源。

以上方法通过继承Applet类来实现。下面是一个简单的例子:

import java.applet.Applet; import java.awt.Graphics; public class HelloWorldApplet extends Applet { 
    public void paint(Graphics g) { 
    g.drawString("Hello World!", 20, 20); } } 

上面的代码定义了一个名为HelloWorldAppletApplet类,它通过继承Applet类来获取Applet的基本功能。在paint()方法中,我们使用Graphics对象在Applet的画布上输出一条信息“Hello World!”

运行Java Applet需要将其与一个HTML文件一起使用。下面是一个简单的HTML文件示例:

<html> <head> <title>Hello World Applet</title> </head> <body> <applet code="HelloWorldApplet.class" width="300" height="300"> </applet> </body> </html> 

上面的HTML文件中,通过使用<applet>标签将Java Applet嵌入到页面中。code属性指定了Applet类文件的名称(在这个例子中是HelloWorldApplet.class),widthheight属性指定了Applet的宽度和高度。

当浏览器加载HTML文件时,会自动加载并执行Applet类。运行结果会在浏览器中显示一个300×300大小的画布,并输出一条信息“Hello World!”

Java Applet 的使用局限

在Java 中将执行程序分成木地代码和远程代码两种。本地代码被视为可信任的,而远程代码则被看作不可信的。对于可信的本地代码,可以访问一切本地资源,如 Jara Application 程序,而Java Applet 是从网络上下载到客户端的远程代码,被视为不可信的。

由于 Applet 的特殊性, Java 出于安全性的考虑,不允许 Applet 随意访问客户端资源,如不允许对本地文件进行读写,而只允许 Applet 在受限的环境中运行,这个限制程序运行的环境就是Java 沙箱。沙箱机制就是将Java 代码限定在虚拟机(JVM)特定的运行范围中,并且严格限制代码对本地系统资源的访问,通过这样的措施来保证对不可信代码进行有效隔离,防止对本地系统造成破坏。下图示意了 Java沙箱安全机制原理。

Java沙箱安全机制原理

在这里插入图片描述
由于上述对 Applet的限制,因此 Applet 不能像 Java Application 那样任意访问本地系统资源,如内存、文件系统等。常用的 Web 浏览器,其默认的安全设置也不允许 Java Applet 直接运行。但通过对浏览器的安全级别、数据签名、安全策略的修改和配置,是可以实现Java Applet 对本地资源的访问的。有关技术实现细节,请参阅相关文献资料。

Applet的生命周期与运行方式

Applet的生命周期是指将 Applet下载到本地浏览器,到用户退出测览器终止 Applen 运行的过程。Appler 的生命周期包括Applet 的初始、运行、中止与消亡几个状态,这几个状态与以下几个public 方法, 即 public void init()public void start( ), public void stop()public void destroy()密切相关。

  • init()方法:用来完成主类实例的初始化工作,如创建和初始化程序运行所需要的对象实例、加载图形和声音、参数初始化等。
  • start()方法:用来启动浏览器运行 Applet 的主线程。浏览器在调用 init () 方法初始化Applet类的实例之后,就会自动调用 start()方法,除此之外,当用户离开包含 Applet 的页面后又再返回时,或者当浏览器从最小化状态恢复为窗口时,系统都会自动再执行一遍 start()方法。
  • stop()方法:类似于 start ()方法的逆操作,当用户浏览其他页面,或切换到其他系统应用时,浏览器将自动调用stop () 方法暂停执行 Applet的主线程。
  • destroy()方法:当用户退出浏览器时,浏览器自动调用 Applet 实例的 destroy ()方法完成释放资源、关闭连接等操作。

下图描述了Applet 生命周期状态及4个生命周期方法之间的转换关系。
在这里插入图片描述
Applet 运行时,首先由浏览器调用 init()方法,执行一些初始化操作。该方法常被重写,实现设置布局管理器、绘制窗口、数据初始化、加载图形和声音等功能。在 init()方法完成后,将调用 start()方法,Applet 进入运行状态,start()方法在 Applet 每次显示时都要调用,例如浏览器由最小化恢复显示,浏览器由另外页面返回到Applet所在页面显示。Applet转入后台运行时,调用 stop()方法暂停 Applet运行,进入中止状态。关闭浏览器时调用 destroy()方法,释放所占用的资源终止Applet的运行。

二、Applet类

Applet类的层次结构

Applet 类是 Java 类库中一个重要的系统类,存在于 java.applet 包中。JApplet 类是Applet类的扩展,增加了对swing 组件的支持。Applet 类和 JApplet 类是所有 Java Applet 应用的基类,所有的 Java 小程序都必须继承它们。Applet 类和 JApplet 类的层次关系如图所示。
在这里插入图片描述
Applet 类是Java的系统类java.awt.Panel的子类,因此它也是一个面板容器,其默认布局管理器是FlowLayout, 可以在Applet 面板中添加其他界面成分,如各种 AWT组件。JApplet 是Swing 中的容器,可以在 JApplet 中添加 Swing 组件,其默认布局管理器是BorderLayout。

常用方法

生命周期方法

Applet的生命周期是指将 Applet下载到本地浏览器,到用户退出测览器终止 Applen 运行的过程。Appler 的生命周期包括Applet 的初始、运行、中止与消亡几个状态,这几个状态与以下几个public 方法, 即 public void init()public void start( ), public void stop()public void destroy()密切相关。

  • init()方法:用来完成主类实例的初始化工作,如创建和初始化程序运行所需要的对象实例、加载图形和声音、参数初始化等。
  • start()方法:用来启动浏览器运行 Applet 的主线程。浏览器在调用 init () 方法初始化Applet类的实例之后,就会自动调用 start()方法,除此之外,当用户离开包含 Applet 的页面后又再返回时,或者当浏览器从最小化状态恢复为窗口时,系统都会自动再执行一遍 start()方法。
  • stop()方法:类似于 start ()方法的逆操作,当用户浏览其他页面,或切换到其他系统应用时,浏览器将自动调用stop () 方法暂停执行 Applet的主线程。
  • destroy()方法:当用户退出浏览器时,浏览器自动调用 Applet 实例的 destroy ()方法完成释放资源、关闭连接等操作。

显示方法

Applet 继承了 Component类的组件绘制与显示的方法,具有一般AWT组件的图形绘制功能。

  • public void paint(Graphics g):在 Applet 中绘制指定内容(线条形状、图像、字符串等)。Graphics 类用来完成一些较低级的图形用户界面绘制的类,其中包括画圆、点、线、多边形及显示简单文本。参数g是Graphics类的实例,具体绘制方法由参数g调用.Graphics 类的常用方法如下:
    • drawlmage(Image img, intx, int y, ImageObserver observer)在(x. y) 起始位置处绘制图像。
    • drawSring(Sring s, int x,int y)显示字符串,x和y是显示字符串的起始位置。
    • drawLine(int xl, int yl, int x2, int y2)绘制直线,x1、y1和x2、y2是直线的起点和终止点坐标。
    • drawRect(int x, int y, int width, int height)绘制矩形。
    • drawOval(int x, int y, int width, int height)绘制椭圆
    • fillRect(int x, int y, int width, int height) 填充矩形。
    • void setColor(Colorc)设置画笔颜色。
    • void setBackground(Color c)设置背景颜色。
  • public void repaint():重新绘制方法,在需要绘制时调用该方法。该方法将会自动调用 update()方法实现重绘。
  • public void update(Graphics g):更新方法,用背景色清除原有显示内容,再调用paint()完成绘制。

在 Applet 中,显示更新是由一个专门的 AWT 线程控制的。该线程主要负责两种处理:第一,在Applet的初次显示,或运行过程中浏览器窗口大小发生变化而引起 Applet 的显示发生变化时,该线程将调用 Applet 的 paint()方法进行 Applet 绘制;第二,Applet 代码需要更新显示内容,从程序中调用repaint()方法,则AWT线程在接收到该方法的调用后,将调用 Applet 的 update()方法,而update()方法再调用组件的 paint()方法实现显示的更新。

多媒体支持方法

  • public Image gelmage(URL url):按绝对 URL 指定的地址装入图像。
  • public Image getimage(URL url, String name):按相对 URL 指定的地址和文件名加载图像。此处的参数 name 是相对于 url 的图像文件的表示。

以上两个方法中出现了 URL的两种形式:

  • 绝对 URL:http://210.28.32.169/sjweb/picture/pic.gif
  • 相对 URL:= 基准 URL+相对路径及文件名。

例如:可将绝对 URL 的http://210.28.32.169/sjweb/picture/pic.gif改写为相对 URL 的表示,基准 URL =http://210.28.32.169/sjweb/。

  • 相对路径及文件名=picture/pic.gif

由于相对 URL 具有更大灵活性,因此在实际应用中很常见。

  • public AudioClip getAudioClip(URL url):按绝对 URL 指定的地址获取音频文件。
  • public AudioClip getAudioClip(URL url, String name):按相对 URL指定的地址和文件名获取音频文件。
  • public final static newAudioClip(URL url):从指定的相对 URL 上获得一个AudioClip对象,然后通过该对象调用 AudioClip 类的 play()、loop()和 stop()播放音频文件。
  • void play(URL url):直接播放绝对 URL上的音频文件。
  • void play(URL url, String name):播放相对URL 和指定文件名的音频文件。

其他方法

  • public boolean isActive():判断一个 Applet 是否处于活动状态。
  • public URL getDocumentBase():获取包含 Applet 字节码的 HTML 文件的 URL。
  • public URL getCodeBase():获取 Applet字节码文件的 URL。
  • public String getParameter(String name):获取该Applet 指定参数的值。
  • public void resize(int width, int height):调整 Applet 运行的窗口尺寸。
  • public void resize(Dimensiond):调整Applet 运行的窗口尺寸。
  • public void showStatus(String msg):在浏览器的状态条中显示指定的信息。

三、Applet和GUI

Applet 的主要目的是将动态执行与交互功能引入到 Web 页面中,因此几乎所有的Applet 都需要创建 GUI 组件与用户进行动态交互,通过图形、文本等方式显示运行结果和状态。

基于AWT和Swing的GUI

AWT组件与Applet用户界面

Applet 可以通过使用 AWT 组件创建GUI。Applet 是 AWT 的Panel类的子类,其本身就是一个面板,可以像操作其他容器一样,向 Applet 中增加组件并且使用布局管理器控制组件在面板上的位置和大小。Applet 的默认布局管理器是 FlowLayout.

在编写 Applet 的 GUI时,应首先考虑使用哪些组件,如标签(Label)、按钮(Button)、文本框(TextField)等,一般在 init ()方法中创建相应的组件。

代码示例

以下是一个示例代码,用于实现在Applet窗口中输入两个数并求和后显示结果:

import java.applet.Applet; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class SumApplet extends Applet { 
    private JTextField firstNumField; private JTextField secondNumField; private JLabel resultLabel; public void init() { 
    setLayout(new FlowLayout()); firstNumField = new JTextField(10); secondNumField = new JTextField(10); resultLabel = new JLabel("Result: "); JButton addButton = new JButton("Add"); addButton.addActionListener(new ButtonListener()); add(new JLabel("First Number: ")); add(firstNumField); add(new JLabel("Second Number: ")); add(secondNumField); add(addButton); add(resultLabel); } private class ButtonListener implements ActionListener { 
    public void actionPerformed(ActionEvent e) { 
    String firstNumStr = firstNumField.getText(); String secondNumStr = secondNumField.getText(); double firstNum = Double.parseDouble(firstNumStr); double secondNum = Double.parseDouble(secondNumStr); double sum = firstNum + secondNum; resultLabel.setText("Result: " + sum); } } } 

要在浏览器中运行此Applet,请将代码保存为名为”SumApplet.java“的文件。然后,在命令行中运行以下命令将其编译为.class文件:

javac SumApplet.java 

然后,使用以下HTML代码将Applet嵌入到网页中:

<applet code="SumApplet.class" width="400" height="300"></applet> 

将上述代码中的”width“和”height“属性值调整为您想要的Applet窗口大小。最后,用Web浏览器打开包含上述HTML代码的网页,您应该看到一个可在Applet窗口中输入两个数并求和的界面。

Swing组件与Applet用户界面

使用 Swing 组件的 Applet 可以定义为JApplet 类的子类,JApplet 也是容器的一种,其默认布局管理器是 BorderLayout, 其中可以包含 Swing组件实现 GUI设计。

向JApplet 中添加组件时,既可以直接添加,也可以把组件添加到 Swing Applet 的内容面板。

  • 直接向 Applet 窗口中添加各组件。
  • 用 getContentPane()方法获得JApplet 的内容面板,再向内容面板中增加组件。
    • Container contentPane= getContentPane();
    • contentPane.add(someComponent);
代码示例

以下是一个基于Swing实现的简单Applet示例:

import javax.swing.*; import java.awt.*; public class SwingAppletExample extends JApplet { 
    public void init() { 
    // 设置Applet的大小 setSize(400, 300); // 创建一个面板,并设置背景颜色 JPanel panel = new JPanel(); panel.setBackground(Color.YELLOW); // 创建一个标签,并设置文本 JLabel label = new JLabel("Hello, Applet!"); label.setFont(new Font("Arial", Font.BOLD, 24)); // 将标签添加到面板上 panel.add(label); // 将面板添加到Applet上 add(panel); } } 

要运行这个示例,将上述代码保存为 SwingAppletExample.java 文件,然后使用Java编译器进行编译。编译完成后,可以将生成的 .class 文件嵌入到一个HTML页面中以显示Applet。例如,可以创建一个名为 SwingAppletExample.html 的HTML文件,并将以下代码粘贴到文件中:

<html> <head> <title>Swing Applet Example</title> </head> <body> <applet code="SwingAppletExample.class" width="400" height="300"> Your browser does not support the Applet tag. </applet> </body> </html> 

然后,通过在浏览器中打开这个HTML文件,就可以看到一个简单的Applet,其中显示了一个带有黄色背景的标签。

Applet与事件处理

Applet中的事件处理机制与Java Application 中相同,采用委托事件模型。

代码示例

下面是一个使用Applet处理文本框动作事件和鼠标事件的示例代码:

import java.awt.*; import java.awt.event.*; public class TextEventApplet extends java.applet.Applet implements ActionListener, MouseListener { 
    TextField textField; Label label; public void init() { 
    textField = new TextField(20); label = new Label(); textField.addActionListener(this); textField.addMouseListener(this); add(textField); add(label); } public void actionPerformed(ActionEvent e) { 
    String text = textField.getText(); label.setText("文本框动作事件:" + text); } public void mouseClicked(MouseEvent e) { 
    label.setText("鼠标点击事件"); } public void mouseEntered(MouseEvent e) { 
    label.setText("鼠标进入文本框"); } public void mouseExited(MouseEvent e) { 
    label.setText("鼠标离开文本框"); } public void mousePressed(MouseEvent e) { 
    // 不处理 } public void mouseReleased(MouseEvent e) { 
    // 不处理 } } 

这个示例创建一个Applet,包含一个文本框和一个标签。文本框用于输入文本,标签用于显示事件的信息。

init()方法中,将文本框的动作事件和鼠标事件添加为监听器。当文本框发生动作事件(用户按下回车键)时,actionPerformed()方法将被调用,该方法从文本框中获取文本并在标签中显示。

当鼠标在文本框上发生点击事件时,mouseClicked()方法将被调用,在标签中显示相应信息。其他的鼠标事件(鼠标按下、鼠标释放等)在本示例中不进行处理。

四、Applet与多媒体支持

图像显示

目前Java所支持的图像格式有 GIF、JPEG 和 PNG 三种。在Applet 中显示图像要首先加载图像,然后再进行图像绘制。

可以使用 getlmage()方法进行加载,public Image getlmage(URL ur)方法不是等到图像完全加载后才返回,而是立即返回。该方法返回的是一个 Image 对象,其中封装了参数指定的图像文件。

绘制图像可以利用 Graphics 类提供的 drawImage()方法:

public boolean drawImage(Image img, int x, int y, ImageObserver observer) 

其中,Image img 表示要绘制的图像对象;int x, int y表示绘制图像的左上角坐标,以像素为单位;ImageObserver observer 是实现了 ImageObserver 接口类的对象,体现了Java 中追踪图像加载过程的机制,当图像对象的信息一更新,就通知该对象,一般以 this作为参数的值,即传递当前对象的引用去实现这个接口

代码示例

下面是一个通过Applet显示指定图像的示例代码:

import java.applet.Applet; import java.awt.Graphics; import java.awt.Image; import java.net.URL; import javax.swing.ImageIcon; public class ImageApplet extends Applet { 
    private Image image; @Override public void init() { 
    URL imageURL = getClass().getResource("image.jpg"); image = new ImageIcon(imageURL).getImage(); } @Override public void paint(Graphics g) { 
    g.drawImage(image, 0, 0, this); } } 

注意:在上面的示例代码中,假设有一个名为 “image.jpg” 的图像文件与Applet类文件位于同一目录中。如果图像文件位于不同的位置,需要根据实际情况更改 getResource() 方法的参数。

声音播放

目前 Java 中支持 AU、AIFF、WAV、MIDI、RFM 等多种格式的音频文件格式,可以利用 Applet 类和 AudioClip 接口来播放声音。

  • Applet类中与音频播放有关的方法有以下两类。
    • public AudioClip getAudioClip(...):用于加载音频文件,返回一个 AudioClip 对象。
    • public void play(URL url):直接播放指定url上的音频文件,如果没有找到指定的文件,该方法直接返回,不执行任何操作。
  • AudioClip 是播放音频的援口,其中以下3个方法用于 AudioClip 对象的播放。
    • public void play():从头开始播放音频文件。
    • public void loop():循环播放。
    • public void stop():停止播放。

一般在 Applet 中音频文件的加载只进行一次,可以放在init()方法中。而音频文件的播放和停止可能进行很多次,可以放在 start()和 stop()方法中,或者通过相应按钮的事件处理方式进行控制。

代码示例

可以使用Java Applet来实现音频文件的播放。以下是一个简单的示例:

import java.applet.Applet; import java.applet.AudioClip; import java.awt.Button; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class AudioPlayerApplet extends Applet implements ActionListener { 
    private Button playButton; private Button stopButton; private AudioClip audioClip; public void init() { 
    playButton = new Button("Play"); stopButton = new Button("Stop"); playButton.addActionListener(this); stopButton.addActionListener(this); add(playButton); add(stopButton); audioClip = getAudioClip(getCodeBase(), "audiofile.wav"); // 替换为实际的音频文件路径 } public void actionPerformed(ActionEvent e) { 
    if (e.getSource() == playButton) { 
    audioClip.play(); } else if (e.getSource() == stopButton) { 
    audioClip.stop(); } } } 

在HTML文件中使用<applet>标签来引用Applet:

<!DOCTYPE html> <html> <head> <title>Audio Player Applet</title> </head> <body> <applet code="AudioPlayerApplet.class" width="300" height="200"> </applet> </body> </html> 

请将上述代码中的audiofile.wav替换为实际的音频文件路径。此示例创建了一个简单的音频播放器Applet,其中包含播放按钮和停止按钮。当用户点击播放按钮时,音频文件会开始播放;当用户点击停止按钮时,音频文件会停止播放。

请注意,由于浏览器安全性的限制,某些浏览器可能不再支持Java Applet。因此,如果您希望在现代浏览器中使用音频播放功能,可以考虑使用HTML5的<audio>元素或使用JavaScript库(如Howler.js)来完成音频播放操作。

五、Applet的参数传递

Applet和HTML

由于 Applet 无法独立运行,因此需将 Applet 字节码嵌入到 HTML 网页的<APPLET></APPLET>标签中,再由浏览器打开该HTML 文楷,由浏览器软件运行 Applet.

例如,在 HelloWorldApplet.html 中包含了一个 APPLET 标记:

<APPLET code= "HelloWorldApplet.class" height=200 width=300></APPLET> 

这个标记规定了浏览器要加载 HelloWorldApplet.class 字节码文件,浏览器将到HelloWorldApplet.html 文件所在的URL 寻找该文件。

<APPLE>标记的完整语法中可以有若干属性,其中必需的属性是 CODE、
WIDTH、HEIGHT,其余为可选项。

CODE="AppletFile":必需属性,它通知浏览器 Applet字节码文件名称。

CODEBASE="codebaseURL":可选属性,它指定 Applet 字节码的路径或 URL。当Applet字节码文件的保存位置与所嵌入的HTML 文档不同时,需要用此参数指明字节码文件的位置,该位置用 URL 格式表示。

ALT="alternateText":可选属性,它指定在浏览器能识别标记但不能运行Java Applet时显示的提示内容。

ARCHIVE ="archiveList”可选属性,它描述一个或多个包含有“预加载”的类或其他资源的文档。

OBJECT= "serialiaedApplet”:可选属性,它给出包含 Applet 序列化表示的文件名。此时init()方法不调用,start()方法将被调用。

WIDTH=""HEIGHT="":两个必需属性。程序的高度和宽度,单位为像素。

ALIGN='"":可选属性,指定 Applet 界面区域在浏览器窗口中的对齐方式。

<PARAM NAME="APPLETattribute'" VALUE="value'>:可选属性,指定向 Applet 传递参数的名字和内容,一个标记只能传递一个字符串参数。在Applet 中使用getParamter()方法可以得到这些参数值。

Applet与参数

为了增强 Applet的通用性,Applet 允许从HTML 标记中获取参数,程序运行时,不同参数值将导致不同的运行结果。可以在 HTML 文件中,通过中的标记为Applet指定参数。例如:

<applet code="*.class" width=300 height=200> <param name=n value="6"> <param name=age value="20"> </applet> 

其中用两个<param>指定了两个参数n和age,它们的值为”6″和”20″,n和 age 将会传递其值给 Applet 中的相应接收变量。另一方面,在 Applet 中利用 public String getParameter("参数名”)方法获取 HTML传递的参数值,并利用该值在 Applet 中进行处理,该方法返回结果为字符串。

代码示例

下面是一个使用Java编写的Applet,可以通过HTML文档传入两个整数,并计算它们的最大公约数。

import java.applet.Applet; import java.awt.Graphics; public class GCDApplet extends Applet { 
    private int num1; private int num2; private int gcd; public void init() { 
    String strNum1 = getParameter("num1"); String strNum2 = getParameter("num2"); try { 
    num1 = Integer.parseInt(strNum1); num2 = Integer.parseInt(strNum2); } catch (NumberFormatException e) { 
    num1 = 0; num2 = 0; } gcd = calculateGCD(num1, num2); } private int calculateGCD(int a, int b) { 
    if (b == 0) { 
    return a; } else { 
    return calculateGCD(b, a % b); } } public void paint(Graphics g) { 
    g.drawString("num1: " + num1, 10, 20); g.drawString("num2: " + num2, 10, 40); g.drawString("GCD: " + gcd, 10, 60); } } 

要将此Applet嵌入到HTML文档中,可以使用以下代码:

<applet code="GCDApplet.class" width="300" height="200"> <param name="num1" value="12"> <param name="num2" value="18"> </applet> 

在上面的示例中,num1num2是通过<param>元素传递给Applet的两个整数。Applet将计算并显示这两个整数的最大公约数。


免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/147448.html

(0)
上一篇 2025-04-07 16:45
下一篇 2025-04-07 17:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信