在 Java Applet 中绘制笑脸

javaobject oriented programmingprogramming更新于 2024/11/3 16:12:17

Java Applet 是一种令人惊叹的资源,它允许专家在 Web 程序中创建智能表示和动画。在本教学活动中,我们将研究如何使用 Java Applet 绘制笑脸。我们将介绍强调、逐步计算以及完成此任务的不同方法。在本文结束时,您将对如何使用 Java Applet 制作笑脸有一个明确的了解。

语法

要在 Java Applet 中绘制笑脸,我们真的想使用 Illustrations 类,它提供了绘制不同形状和图像的技术。制作笑脸的基本标点符号如下:

public void paint(Graphics g) {
    // 在此处绘制笑脸
}
import java.applet.Applet;
import java.awt.Graphics;

public class SmileyApplet extends Applet {
    public void paint(Graphics g) {
        // 在这里绘制笑脸
    }
}

算法

  • 要在 Java Applet 中绘制笑脸,我们可以按照以下逐位计算:

  • 设置小程序的背景颜色。

  • 使用 fillOval() 方法绘制一个黄色圆圈作为脸部。

  • 使用 fillOval() 方法绘制两个黑色圆圈作为眼睛。

  • 使用 drawArc() 方法绘制一个黑色弧作为微笑。

  • 通过添加眉毛、鼻子等其他元素(可选)来自定义笑脸。

方法 1:基本笑脸脸

在此方法中,我们将使用圆形和曲线等基本形状绘制笑脸。我们将保持简单并专注于基本元素。

示例

import java.applet.Applet;
import java.awt.*;

public class SmileyApplet extends Applet {
   public void paint(Graphics g) {
      setBackground(Color.white);
      g.setColor(Color.yellow);
      g.fillOval(100, 100, 200, 200);
      g.setColor(Color.black);
      g.fillOval(155, 175, 10, 20);
      g.fillOval(230, 175, 10, 20);
      g.drawArc(150, 220, 100, 50, 180, 180);
   }

   public static void main(String[] args) {
        // 创建框架
        Frame frame = new Frame("SmileyApplet Frame");
        
        // 创建小程序实例
        SmileyApplet applet = new SmileyApplet();
        
        // 将小程序实例添加到框架
        frame.add(applet);
        
        // 调用小程序的 init() 方法
        applet.init();
        
        // 设置框架大小(小程序大小将按照其首选大小)
        frame.setSize(400, 400);
        
        // 显示框架
        frame.setVisible(true);
        
        // 处理关闭框架
      	frame.addWindowListener(new java.awt.event.WindowAdapter() {
         @Override
         public void windowClosing(java.awt.event.WindowEvent windowEvent) {
            System.exit(0);
         }
      });
   }
}

输出

解释

在此代码中,我们使用 setBackground() 方法将小程序的背景颜色设置为白色。然后,我们将颜色设置为黄色,并绘制一个实心椭圆来表示脸部。然后,我们将颜色设置为黑色,并绘制两个实心椭圆作为眼睛。最后,我们绘制一个曲线来表示笑容。

方法 2(增强笑脸)

在此方法中,我们将通过添加眉毛和鼻子来增强笑脸。这将使脸部更具个性。

示例

import javax.swing.*;
import java.awt.*;

public class SmileyFaceApp extends JFrame {

   public SmileyFaceApp() {
      setTitle("Smiley Face");
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setSize(400, 400);
      setVisible(true);
   }

   public void paint(Graphics g) {
        // 设置背景颜色
        getContentPane().setBackground(Color.WHITE);
        
        // 绘制脸部
        g.setColor(Color.YELLOW);
        g.fillOval(100, 100, 200, 200);
        
        // 绘制眉毛
        g.setColor(Color.BLACK);
        g.drawLine(145, 145, 175, 165);
        g.drawLine(235, 165, 265, 145);
        
        // 绘制眼睛
        g.setColor(Color.BLACK);
        g.fillOval(155, 175, 20, 20);
        g.fillOval(225, 175, 20, 20);
        
        // 绘制鼻子
        g.setColor(Color.BLACK);
        g.fillOval(190, 205, 20, 20);
        
        // 画笑脸
        g.setColor(Color.BLACK);
        g.drawArc(150, 175, 100, 100, 200, 140);
   }

   public static void main(String[] args) {
      SwingUtilities.invokeLater(() -> new SmileyFaceApp());
   }
}

输出

解释

在此代码中,我们为笑脸添加了两个额外元素。我们在眼睛上方画一个圆弧来表示眉毛,在眼睛下方画另一个实心椭圆来表示鼻子。

方法 3(生动的笑脸)

在此方法中,我们将通过对不同元素使用不同的颜色使笑脸更加生动。

示例

import javax.swing.*;
import java.awt.*;

public class SmileyFaceApp3 extends JFrame {

   public SmileyFaceApp3() {
      setTitle("Smiley Face");
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setSize(400, 400);
      setVisible(true);
   }

   public void paint(Graphics g) {
        // 设置背景颜色
        getContentPane().setBackground(Color.WHITE);
        
        // 绘制脸部
        g.setColor(Color.YELLOW);
        g.fillOval(100, 100, 200, 200);
        
        // 绘制眉毛
        g.setColor(Color.BLACK);
        g.drawLine(145, 145, 175, 165);
        g.drawLine(235, 165, 265, 145);
        
        // 绘制眼睛
        g.setColor(Color.BLUE);
        g.fillOval(155, 175, 20, 20);
        g.fillOval(225, 175, 20, 20);
        
        // 绘制鼻子
        g.setColor(Color.RED);
        g.fillOval(190, 225, 20, 20);
        
        // 画笑脸
        g.setColor(Color.GREEN);
        g.drawArc(150, 175, 100, 100, 200, 140);
   }

   public static void main(String[] args) {
      SwingUtilities.invokeLater(() -> new SmileyFaceApp3());
   }
}

输出

解释

在此代码中,我们利用各种不同的面部、眼睛、笑容、眉毛和鼻子。这为笑脸增添了动感。

方法 4(创意笑脸)

在此方法中,我们将添加头发和腮红等其他元素,使笑脸更加有趣。

示例

import javax.swing.*;
import java.awt.*;

public class SmileyFaceApp4 extends JFrame {

   public SmileyFaceApp4() {
      setTitle("Smiley Face");
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setSize(400, 400);
      setVisible(true);
   }

   public void paint(Graphics g) {
        // 设置背景颜色
        getContentPane().setBackground(Color.WHITE);
        
        // 绘制脸部
        g.setColor(Color.YELLOW);
        g.fillOval(100, 100, 200, 200);
        
        // 绘制头发
        g.setColor(Color.BLACK);
        g.fillArc(140, 70, 120, 120, 0, 180);
        
        // 绘制眉毛
        g.setColor(Color.BLACK);
        g.drawLine(145, 165, 175, 145);
        g.drawLine(255, 145, 285, 165);
        
        // 绘制眼睛
        g.setColor(Color.BLACK);
        g.fillOval(155, 175, 20, 20);
        g.fillOval(225, 175, 20, 20);
        
        // 画鼻子
        g.setColor(Color.BLACK);
        g.fillOval(190, 215, 20, 20);
        
        // 画笑脸
        g.setColor(Color.BLACK);
        g.drawArc(150, 175, 100, 100, 200, 140);
   }

   public static void main(String[] args) {
      SwingUtilities.invokeLater(() -> new SmileyFaceApp4());
   }
}

输出

解释

在此代码中,我们通过在头部上方绘制一个实心圆弧来为笑脸添加头发。我们还通过在脸部两侧绘制两个小实心椭圆来为脸颊添加腮红。

结论

使用 Java Applet 绘制笑脸是一种愚蠢而富有创意的活动。通过遵循分步计算并研究各种方法,您可以根据自己的喜好更改笑脸。无论您选择基本方法还是尝试使用充满活力的色调和额外元素,可能的结果都是不可估量的。所以请随意释放您的想象力,在 Java Applet 中绘制您自己的非凡笑脸!


相关文章


有用资源