Javafx 简明教程
JavaFX - Creating a Sphere
球体是三维空间中的一个完美的圆形几何对象,也就是一个完全圆形的球的表面。
球体定义为到 3D 空间中给定点距离均为 r 的点的集合。此距离 r 是球体的 radius ,给定点是球体的中心。
Sphere in JavaFX
在 JavaFX 中,球体由名为 Sphere 的类表示。此类属于 javafx.scene.shape 包。通过实例化此类,您可以在 JavaFX 中创建球体节点。
此类具有名为 radius*of double datatype. It represents the radius of a Sphere. To draw a Sphere, you need to set values to this property by passing it to the constructor of this class at the time of instantiation; Or, by using a setter method named *setRadius() 的属性。
Steps to Draw 3D Sphere
请遵循以下步骤,在 JavaFX 中绘制球体(3D)。
Step 1: Creating a Sphere
通过实例化属于 javafx.scene.shape 包的名为 Sphere 的类,在 JavaFX 中创建球体。您可以在 start() 方法中实例化此类,如下所示。
public class ClassName extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
//Creating an object of the class Sphere
Sphere sphere = new Sphere();
}
}
Step 2: Setting Properties to the Sphere
如下所示,使用名为 setRadius() 的方法设置球体的半径。
//Setting the radius of the Sphere
sphere.setRadius(300.0);
Step 3: Creating a Group Object
如下所示,通过将 sphere 对象作为参数传递给它的构造函数对 Group 类进行实例化 -
Group root = new Group(sphere);
Step 4: Launching an Application
创建 3D 对象后,按以下步骤启动 JavaFX 应用程序:
-
通过将 Group 对象作为构造函数的参数值来实例化类 Scene 。还可以将应用程序屏幕的尺寸作为可选参数传递给构造函数。
-
使用 Stage 类的 setTitle() 方法为舞台设置标题。
-
使用名为 Stage 的类的 setScene() 方法向舞台添加场景对象。
-
使用名为 show() 的方法显示场景的内容。
-
最后,在 Application 类中使用 launch() 方法启动应用程序。
Example
使用 JavaFX 生成球体的操作方法如下所示。将此代码保存在名为 SphereExample.java 的文件中。
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.shape.Sphere;
public class SphereExample extends Application {
@Override
public void start(Stage stage) {
//Drawing a Sphere
Sphere sphere = new Sphere();
//Setting the properties of the Sphere
sphere.setRadius(50.0);
sphere.setTranslateX(200);
sphere.setTranslateY(150);
//Creating a Group object
Group root = new Group(sphere);
//Creating a scene object
Scene scene = new Scene(root, 600, 300);
//Setting title to the Stage
stage.setTitle("Drawing a Sphere - draw fill");
//Adding scene to the stage
stage.setScene(scene);
//Displaying the contents of the stage
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
使用以下命令,从命令提示符编译并执行已保存的 java 文件。
javac --module-path %PATH_TO_FX% --add-modules javafx.controls SphereExample.java
java --module-path %PATH_TO_FX% --add-modules javafx.controls SphereExample
执行上述程序后,将在 JavaFX 窗口中生成一个球体,如下所示。
Example
在以下程序中,我们通过为 JavaFX 应用程序的场景着色,在 JavaFX 中应用了一些 CSS。将此代码保存在名为 CSSSphereExample.java 的文件中。
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.paint.Color;
import javafx.scene.shape.Sphere;
public class CSSSphereExample extends Application {
@Override
public void start(Stage stage) {
//Drawing a Sphere
Sphere sphere = new Sphere();
//Setting the properties of the Sphere
sphere.setRadius(50.0);
sphere.setTranslateX(100);
sphere.setTranslateY(150);
//Creating a Group object
Group root = new Group(sphere);
//Creating a scene object
Scene scene = new Scene(root, 300, 300);
scene.setFill(Color.ORANGE);
//Setting title to the Stage
stage.setTitle("Drawing a Sphere");
//Adding scene to the stage
stage.setScene(scene);
//Displaying the contents of the stage
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
使用以下命令,从命令提示符编译并执行已保存的 java 文件。
javac --module-path %PATH_TO_FX% --add-modules javafx.controls CSSSphereExample.java
java --module-path %PATH_TO_FX% --add-modules javafx.controls CSSSphereExample
执行上述程序后,将在 JavaFX 窗口中生成一个球体,如下所示。