📜  如何在 Eclipse 处理中创建 PApplet 项目

📅  最后修改于: 2022-05-13 01:55:08.173000             🧑  作者: Mango

如何在 Eclipse 处理中创建 PApplet 项目

小程序是一个小程序,它不打算单独运行,而是嵌入到另一个应用程序中。小程序可以嵌入到网页中。它在网络浏览器中运行并在客户端工作。在本文中,我们将讨论如何在 Eclipse IDE 中使用 PApplet 类在Java中创建小程序。

Java中的处理库有一个名为PApplet的类,用于制作图形用户界面(GUI)。在创建applet之前,我们先了解一下Java中applet类的基础知识:

  • PApplet 类必须是要嵌入网页中或由Java Applet 查看器查看的小程序的超类。
  • PApplet 类有两个主要方法,即setup()draw()方法。
  • setup 方法运行一次,而 draw函数将重复运行,在画布上绘制图像。
  • 处理使用主动模式渲染,(即)所有动画任务都发生在“处理动画线程”上。
  • setup() 和 draw() 方法由该线程处理,并且由事件调度线程或 EDT 触发的鼠标移动和按键等事件排队等待在 draw() 方法结束时安全处理。
  • 使用 PApplet 类我们可以创建用户友好的 GUI 应用程序,这意味着应用程序是用户交互的,它们有图标、滑块,我们可以单击、拖放和播放应用程序窗口。

示例:下面是一个示例,以了解如何在Java中创建小程序。在这个小程序中,我们在画布上渲染图像。此图像可以来自互联网或本地 PC。由于已知有两个函数需要定义,因此在每个函数中定义如下:

  • setup():在这个函数中,我们将定义画布的大小和画布的背景。
  • draw():在这个函数中,让我们定义一个可以假设为太阳的椭圆。在这个小程序中,这个椭圆的颜色会随着太阳颜色的变化而变化。由于实时观察这可能需要几个小时,我们将在几秒钟内改变太阳的颜色。太阳的颜色以 RGB 的形式表示。

下面是上述小程序的实现:

// Java program to demonstrate
// how to create an applet
  
import processing.core.PApplet;
import processing.core.PImage;
  
// Creating a class which extends
// the PApplet class
public class MyPApplet extends PApplet {
  
    // Defining the image
    PImage img;
  
    // The setup function will run once
    // and the draw function will run
    // repeatedly drawing the image
    // on the canvas.
    public void setup()
    {
        // Set the canvas width and height
        size(500, 500);
  
        // Set the canvas color
        background(255);
  
        // Set the pen color
        stroke(0);
  
        // Use any image from the internet
        // or PC
        // Here, the URL of the image is given
        img
            = loadImage("https:// encrypted"
                            + "-tbn0.gstatic.com/"
                            + "images?q=tbn%3AANd9"
                            + "GcRNC9SY6P7qRIXxGcK"
                            + "vM420UXuISOlev1dOpO5"
                            + "_lHpmW2mhVQh7&usqp=CAU",
                        "jpg");
  
        // Resize the loaded image to
        // the full height of canvas
        img.resize(0, height);
  
        // Display the image
        image(img, 0, 0);
    }
  
    // This function is executed repeatedly
    public void draw()
    {
        // Calculate color code for the sun
        int[] color = sunColorSec(second());
  
        // Set the colour of the sun
        fill(color[0], color[1], color[2]);
  
        // Draw the sun
        ellipse(width / 4, height / 5,
                width / 4, height / 5);
    }
  
    // Function to return the RGB
    // color of the sun at the
    // number of seconds in the minute
    public int[] sunColorSec(float seconds)
    {
        int[] rgb = new int[3];
  
        // Scale the brightness of the
        // yellow based on the seconds.
        // 0 seconds is black and
        // 30 seconds is bright yellow.
        float diffFrom30
            = Math.abs(30 - seconds);
  
        // Assigning the ratio of
        // RGB in an array
        float ratio = diffFrom30 / 30;
        rgb[0] = (int)(255 * ratio);
        rgb[1] = (int)(255 * ratio);
        rgb[2] = 0;
  
        // Return the RGB
        return rgb;
    }
  
    // Driver code
    public static void main(String[] args)
    {
  
        PApplet.main(
            new String[] {
                "--present",
                "MyPApplet" });
    }
}

输出:以下是运行代码得到的输出。颜色变化如下: