ข้ามไปที่เนื้อหาหลัก

เรื่องที่แนะนำ

คู่มือ Java ฉบับทันสมัย (อัปเดตล่าสุดปี 2025)

 คู่มือ Java ฉบับทันสมัย (อัปเดตล่าสุดปี 2025) บทนำ Java ยังคงเป็นภาษายอดนิยมที่ได้รับความนิยมอย่างต่อเนื่องตั้งแต่ยุค 1990 จนถึงปัจจุบัน ในปี 2025 Java ได้ก้าวหน้าอย่างมากทั้งด้านภาษาหลักและเครื่องมือสนับสนุน ล่าสุด Java 24 ได้เปิดตัวออกมาแล้ว และ Java 21 เป็นเวอร์ชัน LTS (Long-Term Support) ที่แนะนำให้ใช้งานสำหรับระบบจริงในระยะยาว บทความนี้จะช่วยให้คุณเข้าใจภาพรวมของ Java เวอร์ชันล่าสุด รวมถึงฟีเจอร์เด่น โครงสร้างภาษาที่ควรรู้ และแนวทางการพัฒนา Java ยุคใหม่ ภาพรวมเวอร์ชัน Java ล่าสุด เวอร์ชัน สถานะ วันเปิดตัว Java 24 เวอร์ชันล่าสุด มีนาคม 2025 Java 21 เวอร์ชัน LTS ล่าสุด กันยายน 2023 Java 17 LTS รุ่นก่อนหน้า กันยายน 2021 Java 11 LTS เก่า กันยายน 2018 โครงสร้างพื้นฐานของภาษา Java คลาสและอ็อบเจกต์ : โครงสร้างหลักของโปรแกรม Java Primitive Types : int, double, char, boolean เป็นต้น Control Statements : if, switch, while, for, do-while Methods : การแยกโค้ดเป็นหน่วยที่นำกลับมาใช้ซ้ำได้ Array และ Collection : จัดเก็บและจัดการข้อมูลหลายรายการ Exception Handling : try-catch-finally OOP Co...

สอน JavaFX 3D พร้อมการตั้งค่า pom.xml

 JavaFX เป็นเครื่องมือที่ช่วยให้การพัฒนา UI สำหรับแอปพลิเคชันเดสก์ท็อปง่ายขึ้น และรองรับการทำงานกับกราฟิก 3D ได้อย่างมีประสิทธิภาพ ในบทความนี้ เราจะพูดถึงวิธีการสร้าง 3D Objects ใน JavaFX และการตั้งค่าโปรเจกต์ด้วย Maven โดยการปรับแต่งไฟล์ pom.xml


การตั้งค่า Maven โปรเจกต์

ก่อนอื่น เราต้องเตรียมโปรเจกต์ Maven ให้รองรับ JavaFX และการทำงานกับ 3D

  1. สร้างโปรเจกต์ Maven ใหม่
  2. เปิดไฟล์ 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 โดยใช้คลาสที่มีอยู่ เช่น BoxSphere, และ 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);
    }
}

คำอธิบายโค้ด

  1. การสร้าง Object 3D:

    • Box และ Sphere ใช้สำหรับสร้างกล่องและทรงกลมตามลำดับ
    • ใช้ PhongMaterial เพื่อเพิ่มสีและพื้นผิว
  2. การเพิ่มแสง:

    • PointLight และ AmbientLight ใช้สำหรับการตั้งค่าแสงในฉาก
  3. การตั้งค่ากล้อง:

    • PerspectiveCamera ให้มุมมอง 3D ที่สมจริง
  4. การรวมใน SubScene:

    • SubScene ช่วยแยกการจัดการฉาก 3D และเชื่อมต่อกับ Scene หลัก

สรุป

JavaFX เป็นเครื่องมือที่ทรงพลังสำหรับการพัฒนา UI และการทำงานกับกราฟิก 3D ขั้นพื้นฐาน การตั้งค่าโปรเจกต์ด้วย Maven และการทำงานกับ 3D Object สามารถทำได้ง่ายด้วยคลาสและเครื่องมือที่ JavaFX จัดเตรียมไว้ให้ บทความนี้ช่วยให้คุณเริ่มต้นพัฒนาแอปพลิเคชัน 3D ด้วย JavaFX ได้อย่างมั่นใจ

ความคิดเห็น

บทความที่ได้รับความนิยม