如何在 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 的形式表示。
Note: This code will not work on an online IDE. Try to run on the Eclipse IDE.
下面是上述小程序的实现:
// 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" });
}
}
输出:以下是运行代码得到的输出。颜色变化如下: