📜  JavaFX | Light.Point 类

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

JavaFX | Light.Point 类

Light.Point 类是 JavaFX 的一部分。 Light.Point 类表示 3D 空间中的点光源。 Light.Point 类扩展了 Light 类。

类的构造函数:

  1. Point() :使用默认值创建一个新的点光源对象。
  2. Point(double x, double y, double z, Color color) :使用 x、y、z 和颜色值创建一个新的点光源对象。

常用方法:

MethodExplanation
getX()Returns the value of x.
getY()Returns the value of y.
getZ()Returns the value of z.
setX(double v)Sets the value of x.
setY(double v)Sets the value of y.
setZ(double v)Sets the value of z.
getColor()Returns the color of light.
setColor(Color v)Sets the color of light.

下面的程序说明了 Light.point 类的使用:

  1. 创建点光源并将其添加到矩形的Java程序:在此程序中,我们将创建一个名为矩形的矩形,具有指定的高度和宽度。我们还将创建一个名为light的 Light.Point 对象。我们将使用setX()setY()setZ()函数设置 x、y、z 值。现在创建一个光照对象并使用setLight()函数将光照对象添加到光照中。我们将Lighting效果设置为Rectangle并将其添加到场景中并将场景添加到舞台并调用show函数以显示结果。
    // Java Program to create a Point light 
    // and add it to a rectangle
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.shape.Rectangle;
    import javafx.scene.control.*;
    import javafx.stage.Stage;
    import javafx.scene.Group;
    import javafx.scene.effect.Light.*;
    import javafx.scene.effect.*;
    import javafx.scene.paint.Color;
      
    public class Point_1 extends Application {
      
        // launch the application
        public void start(Stage stage)
        {
      
            // set title for the stage
            stage.setTitle("creating Light.Point");
      
            // create point Light object
            Light.Point light = new Light.Point();
      
            // set coordinates
            light.setX(100);
            light.setY(100);
            light.setZ(100);
      
            // create a lighting
            Lighting lighting = new Lighting();
      
            // set Light of lighting
            lighting.setLight(light);
      
            // create a rectangle
            Rectangle rect = new Rectangle(250, 250);
      
            // set fill
            rect.setFill(Color.WHITE);
      
            // set effect
            rect.setEffect(lighting);
      
            // create a Group
            Group group = new Group(rect);
      
            // create a scene
            Scene scene = new Scene(group, 500, 300);
      
            // set the scene
            stage.setScene(scene);
      
            stage.show();
        }
      
        // Main Method
        public static void main(String args[])
        {
      
            // launch the application
            launch(args);
        }
    }
    

    输出:

  2. Java程序创建点光源并将其添加到矩形并将光的颜色设置为红色:在此程序中,我们将创建一个名为矩形的矩形,具有指定的高度和宽度。我们还将创建一个名为light的 Light.Point 对象。现在将 x、y、z 和颜色值作为构造函数的参数传递。我们将创建一个光照对象并使用setLight()函数将光照对象添加到光照中。我们将Lighting效果设置为Rectangle并将其添加到场景中并将场景添加到舞台并调用show函数以显示结果。
    // Java Program to create a Point light and add it to
    // a rectangle and set the color of the light to red
    import javafx.application.Application;
    import javafx.scene.Scene;
    import javafx.scene.shape.Rectangle;
    import javafx.scene.control.*;
    import javafx.stage.Stage;
    import javafx.scene.Group;
    import javafx.scene.effect.Light.*;
    import javafx.scene.effect.*;
    import javafx.scene.paint.Color;
      
    public class Point_2 extends Application {
      
        // launch the application
        public void start(Stage stage)
        {
      
            // set title for the stage
            stage.setTitle("creating Light.Point");
      
            // create point Light object
            Light.Point light = new Light.Point(100, 100, 
                                         100, Color.RED);
      
            // create a lighting
            Lighting lighting = new Lighting();
      
            // set Light of lighting
            lighting.setLight(light);
      
            // create a rectangle
            Rectangle rect = new Rectangle(250, 250);
      
            // set fill
            rect.setFill(Color.WHITE);
      
            // set effect
            rect.setEffect(lighting);
      
            // create a Group
            Group group = new Group(rect);
      
            // create a scene
            Scene scene = new Scene(group, 500, 300);
      
            // set the scene
            stage.setScene(scene);
      
            stage.show();
        }
      
        // Main Method
        public static void main(String args[])
        {
      
            // launch the application
            launch(args);
        }
    }
    

    输出:

注意:上述程序可能无法在在线 IDE 中运行。请使用离线编译器。

参考: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/effect/Light.Point.html