当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaFX 类 AmbientLight用法及代码示例


AmbientLight类是JavaFX的一部分。此类定义环境光对象。 AmbientLight类创建一个似乎来自各个方向的光源。

该类的构造函数是:

  1. AmbientLight():创建具有默认白色的环境光源
  2. AmbientLight(Color c):创建具有指定颜色的环境光源

以下方法是从LightBase继承的:


方法 说明
getColor() 返回灯光的颜色
isLightOn() 返回指示灯是否点亮
setColor(Color value) 设置灯光的颜色
setLightOn(boolean value) 设置属性lightOn的值。

下面的程序将说明AmbientLight类的用法:

  1. Java程序创建默认颜色的环境光:该程序创建一个以sphere命名的Sphere(半径作为参数传递)。将创建一个名为ambient_light的AmbientLight,其默认为白色。将创建一个名为button的按钮,该按钮将用于打开或关闭环境光。 Sphere将在场景内创建,而场景又将在舞台内托管。函数setTitle()用于为舞台提供标题。然后创建一个组,并附加了球体,按钮和环境光。该组已附加到场景中。最后,调用show()方法以显示最终结果。
    // Java program to create a ambient light of default color 
    import javafx.application.Application; 
    import javafx.scene.Scene; 
    import javafx.scene.shape.DrawMode; 
    import javafx.scene.layout.*; 
    import javafx.event.ActionEvent; 
    import javafx.scene.AmbientLight; 
    import javafx.scene.shape.Sphere; 
    import javafx.scene.control.*; 
    import javafx.stage.Stage; 
    import javafx.scene.Group; 
    import javafx.scene.PerspectiveCamera; 
    import javafx.scene.paint.Color; 
    import javafx.event.ActionEvent; 
    import javafx.event.EventHandler; 
      
    public class ambient_light_1 extends Application { 
      
        // launch the application 
        public void start(Stage stage) 
        { 
      
            // set title for the stage 
            stage.setTitle("creating ambient_light"); 
      
            // create a sphere 
            Sphere sphere = new Sphere(80.0f); 
      
            // create a ambient light 
            AmbientLight ambient_light = new AmbientLight(); 
      
            // create a button 
            Button button = new Button("light"); 
      
            // create a Group 
            Group group = new Group(sphere, ambient_light, button); 
      
            // translate the sphere to a position 
            sphere.setTranslateX(100); 
            sphere.setTranslateY(100); 
      
            // action event 
            EventHandler<ActionEvent> event =  
            new EventHandler<ActionEvent>() { 
      
                public void handle(ActionEvent e) 
                { 
                    ambient_light.setLightOn(!ambient_light.isLightOn()); 
                } 
            }; 
      
            // set on action 
            button.setOnAction(event); 
      
            // 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程序创建指定颜色的环境光:该程序创建一个以sphere命名的Sphere(半径作为参数传递)。创建一个名为ambient_light的AmbientLight,它具有指定的颜色(红色)。将创建一个名为button的按钮,该按钮将用于打开或关闭环境光。 Sphere将在场景内创建,而场景又将在舞台内托管。函数setTitle()用于为舞台提供标题。然后创建一个组,并附加了球体,按钮和环境光。该组已附加到场景中。最后,调用show()方法以显示最终结果。
    // Java program to create a ambient light  
    // of a specified color 
    import javafx.application.Application; 
    import javafx.scene.Scene; 
    import javafx.scene.shape.DrawMode; 
    import javafx.scene.layout.*; 
    import javafx.event.ActionEvent; 
    import javafx.scene.AmbientLight; 
    import javafx.scene.shape.Sphere; 
    import javafx.scene.control.*; 
    import javafx.stage.Stage; 
    import javafx.scene.Group; 
    import javafx.scene.PerspectiveCamera; 
    import javafx.scene.paint.Color; 
    import javafx.event.ActionEvent; 
    import javafx.event.EventHandler; 
      
    public class ambient_light_2 extends Application { 
      
        // launch the application 
        public void start(Stage stage) 
        { 
      
            // set title for the stage 
            stage.setTitle("creating ambient_light"); 
      
            // create a sphere 
            Sphere sphere = new Sphere(80.0f); 
      
            // create a ambient light 
            AmbientLight ambient_light = new AmbientLight(Color.RED); 
      
            // create a button 
            Button button = new Button("light"); 
      
            // create a Group 
            Group group = new Group(sphere, ambient_light, button); 
      
            // translate the sphere to a position 
            sphere.setTranslateX(100); 
            sphere.setTranslateY(100); 
      
            // action event 
            EventHandler<ActionEvent> event =  
            new EventHandler<ActionEvent>() { 
      
                public void handle(ActionEvent e) 
                { 
                    ambient_light.setLightOn(!ambient_light.isLightOn()); 
                } 
            }; 
      
            // set on action 
            button.setOnAction(event); 
      
            // 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/AmbientLight.html



相关用法


注:本文由纯净天空筛选整理自andrew1234大神的英文原创作品 JavaFX | AmbientLight Class。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。