สอน JavaFX 3D พร้อมการตั้งค่า pom.xml
- รับลิงก์
- X
- อีเมล
- แอปอื่นๆ
JavaFX เป็นเครื่องมือที่ช่วยให้การพัฒนา UI สำหรับแอปพลิเคชันเดสก์ท็อปง่ายขึ้น และรองรับการทำงานกับกราฟิก 3D ได้อย่างมีประสิทธิภาพ ในบทความนี้ เราจะพูดถึงวิธีการสร้าง 3D Objects ใน JavaFX และการตั้งค่าโปรเจกต์ด้วย Maven โดยการปรับแต่งไฟล์ pom.xml
การตั้งค่า Maven โปรเจกต์
ก่อนอื่น เราต้องเตรียมโปรเจกต์ Maven ให้รองรับ JavaFX และการทำงานกับ 3D
- สร้างโปรเจกต์ Maven ใหม่
- เปิดไฟล์
pom.xml
และเพิ่มการตั้งค่าดังนี้:
ตัวอย่างการตั้งค่า pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>javafx-3d-example</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<javafx.version>20</javafx.version>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
</properties>
<dependencies>
<!-- JavaFX Modules -->
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>${javafx.version}</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-graphics</artifactId>
<version>${javafx.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.8</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>com.example.Main</mainClass>
</configuration>
</plugin>
</plugins>
</build>
</project>
หลังจากตั้งค่าเสร็จ ให้รันคำสั่ง mvn install
เพื่อตรวจสอบว่าโปรเจกต์ Maven ของคุณพร้อมใช้งาน
การสร้าง 3D Object ใน JavaFX
JavaFX รองรับการทำงานกับกราฟิก 3D โดยใช้คลาสที่มีอยู่ เช่น Box
, Sphere
, และ Cylinder
รวมถึงรองรับการตั้งค่ากล้อง (Camera) และแสง (Lighting)
ตัวอย่างโค้ด JavaFX 3D
import javafx.application.Application;
import javafx.scene.*;
import javafx.scene.paint.Color;
import javafx.scene.paint.PhongMaterial;
import javafx.scene.shape.Box;
import javafx.scene.shape.Sphere;
import javafx.scene.transform.Rotate;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
// สร้าง Box
Box box = new Box(100, 100, 100);
PhongMaterial boxMaterial = new PhongMaterial();
boxMaterial.setDiffuseColor(Color.CORAL);
box.setMaterial(boxMaterial);
// สร้าง Sphere
Sphere sphere = new Sphere(50);
PhongMaterial sphereMaterial = new PhongMaterial();
sphereMaterial.setDiffuseColor(Color.SKYBLUE);
sphere.setMaterial(sphereMaterial);
sphere.setTranslateX(150);
// เพิ่มแสง
PointLight light = new PointLight(Color.WHITE);
light.setTranslateX(200);
light.setTranslateY(-100);
light.setTranslateZ(-200);
AmbientLight ambientLight = new AmbientLight(Color.GRAY);
// ตั้งค่ากล้อง
PerspectiveCamera camera = new PerspectiveCamera(true);
camera.setTranslateZ(-500);
// เพิ่มองค์ประกอบลงใน Group
Group group = new Group(box, sphere, light, ambientLight);
// สร้าง SubScene
SubScene subScene = new SubScene(group, 800, 600, true, SceneAntialiasing.BALANCED);
subScene.setFill(Color.BLACK);
subScene.setCamera(camera);
// เพิ่ม SubScene ลงใน Scene หลัก
Group root = new Group(subScene);
Scene scene = new Scene(root, 800, 600);
primaryStage.setTitle("JavaFX 3D Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
คำอธิบายโค้ด
การสร้าง Object 3D:
Box
และSphere
ใช้สำหรับสร้างกล่องและทรงกลมตามลำดับ- ใช้
PhongMaterial
เพื่อเพิ่มสีและพื้นผิว
การเพิ่มแสง:
PointLight
และAmbientLight
ใช้สำหรับการตั้งค่าแสงในฉาก
การตั้งค่ากล้อง:
PerspectiveCamera
ให้มุมมอง 3D ที่สมจริง
การรวมใน SubScene:
SubScene
ช่วยแยกการจัดการฉาก 3D และเชื่อมต่อกับ Scene หลัก
สรุป
JavaFX เป็นเครื่องมือที่ทรงพลังสำหรับการพัฒนา UI และการทำงานกับกราฟิก 3D ขั้นพื้นฐาน การตั้งค่าโปรเจกต์ด้วย Maven และการทำงานกับ 3D Object สามารถทำได้ง่ายด้วยคลาสและเครื่องมือที่ JavaFX จัดเตรียมไว้ให้ บทความนี้ช่วยให้คุณเริ่มต้นพัฒนาแอปพลิเคชัน 3D ด้วย JavaFX ได้อย่างมั่นใจ
ความคิดเห็น
แสดงความคิดเห็น