บทความ

คู่มือ 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...

สอนสร้างแอปพลิเคชันแชทแบบง่ายด้วย Spring Boot และ WebSocket

ในบทความนี้ เราจะสร้างแอปพลิเคชันแชทแบบง่ายที่ให้ผู้ใช้สามารถลงชื่อเข้าใช้งาน (Sign In) เข้าร่วมห้อง (Join Room) สร้างห้อง (Create Room) ส่งข้อความสาธารณะในห้อง (Public Chat) และส่งข้อความส่วนตัวระหว่างผู้ใช้ (Private Chat) โดยใช้  Spring Boot  และ  WebSocket 1. การตั้งค่าเซิร์ฟเวอร์ด้วย Spring Boot แอปพลิเคชันของเราประกอบด้วย: WebSocket  สำหรับการส่งข้อความแบบเรียลไทม์ REST API  สำหรับการลงทะเบียนผู้ใช้และการจัดการห้องแชท โค้ดหลัก :  ตั้งค่า WebSocket ด้วย  @EnableWebSocketMessageBroker  และใช้ SockJS เพื่อรองรับ WebSocket Client สร้าง REST Controller สำหรับการจัดการผู้ใช้และห้องแชท ใช้ STOMP Protocol เพื่อจัดการข้อความในรูปแบบ Topic และ Queue 2. การสร้าง WebSocket Controller ผู้ใช้สามารถส่งข้อความสาธารณะในห้องผ่าน Topic เช่น  /topic/room/{roomName} ข้อความส่วนตัวส่งถึงผู้ใช้โดยตรงผ่าน Queue เช่น  /queue/private ตัวอย่างโค้ด : ฟังก์ชันสำหรับส่งข้อความในห้อง: @MessageMapping( "/chat/public" ) public void publicChat(ChatRequest request )...

การใช้งาน Connect ใน Lua บน Roblox Studio

  Connect เป็นคุณสมบัติที่ใช้ในการเชื่อมโยง (bind) ฟังก์ชันที่กำหนดเองเข้ากับ Events ใน Roblox Studio ซึ่งทำให้สามารถดำเนินการโค้ดเมื่อเหตุการณ์เฉพาะเกิดขึ้น เช่น การคลิกปุ่ม การเปลี่ยนแปลงคุณสมบัติ หรือการชนของวัตถุ โครงสร้างการใช้งาน ฟังก์ชันที่เชื่อมต่อกับเหตุการณ์จะต้องใช้คำสั่ง .Event:Connect( function ) ตัวอย่างการใช้งาน 1. การตรวจจับการคลิกปุ่ม local button = script.Parent button.MouseButton1Click:Connect( function () print ( "ปุ่มถูกคลิกแล้ว!" ) end ) ในตัวอย่างนี้ เมื่อผู้เล่นคลิกปุ่ม ระบบจะเรียกฟังก์ชันที่กำหนดและพิมพ์ข้อความใน Output 2. การตรวจจับเมื่อผู้เล่นเข้าร่วมเกม game.Players.PlayerAdded:Connect( function (player) print (player. Name .. " ได้เข้าร่วมเกม" ) end ) เหตุการณ์ PlayerAdded จะถูกเรียกใช้ทุกครั้งที่ผู้เล่นเข้าร่วมเกม พร้อมพิมพ์ชื่อของผู้เล่นใน Output 3. การตรวจจับการเปลี่ยนแปลงของคุณสมบัติ local part = workspace.Part part.Touched:Connect( function (hit) print (hit.Name .. " สัมผัสกับ Part แล้ว!...

สอนสร้างเมนูภาพแบบเลื่อนแนวนอนใน JavaFX ด้วยมุมมอง 3 มิติ

 บทความนี้จะสอนวิธีสร้างเมนูภาพเลื่อนแนวนอนใน JavaFX ที่ให้ความรู้สึกแบบ 3 มิติ โดยภาพตรงกลางจะมีขนาดใหญ่ที่สุด และภาพด้านข้างจะเล็กลงเหมือนมองจากมุมมองกระบอกทรงกลม สิ่งที่ต้องใช้ JavaFX SDK  Maven สำหรับการจัดการ Dependency  การทำงานของโปรแกรม ใช้  Perspective Transform  และการปรับขนาด (Scaling) เพื่อสร้างเอฟเฟกต์ 3 มิติ ใช้  Timeline  หรือ  Animation  เพื่อสร้างการเลื่อนภาพแบบนุ่มนวล ใช้  Event Handling  เพื่อตรวจจับการกดปุ่มหรือการโต้ตอบจากผู้ใช้ โค้ดตัวอย่าง import javafx.animation.*; import javafx.application.Application; import javafx.scene.*; import javafx.scene. image .Image; import javafx.scene. image .ImageView; import javafx.scene.layout.StackPane; import javafx.scene.layout.HBox; import javafx.stage.Stage; import javafx.util.Duration; import java.util.ArrayList; import java.util.List; public class ImageSlider3D extends Application { private static final double IMAGE_SIZE = 150 ; private static ...

สอนสร้างเอฟเฟกต์พลิกหน้าหนังสือใน JavaFX

 JavaFX สามารถสร้างเอฟเฟกต์พลิกหน้าหนังสือที่เหมือนกับการพลิกหน้ากระดาษจริงได้ แต่ต้องใช้การพัฒนาแบบกำหนดเอง เนื่องจาก JavaFX ไม่มีฟีเจอร์ที่รองรับเอฟเฟกต์นี้โดยตรง เราสามารถสร้างเอฟเฟกต์นี้ได้โดยใช้การรวมกันของการแปลง 2D และ 3D พร้อมกับการสร้างแอนิเมชันและการเรนเดอร์ ขั้นตอนการสร้างเอฟเฟกต์พลิกหน้าหนังสือ แบ่งหน้าออกเป็นสองส่วน แบ่งหน้าออกเป็น "ซีกซ้าย" และ "ซีกขวา" ใช้ Canvas หรือ ImageView เพื่อแสดงเนื้อหาของแต่ละซีก ใช้การแปลง 3D ใช้การแปลงแบบ Rotate เพื่อจำลองการเคลื่อนไหวของการพลิก ใช้ PerspectiveCamera ของ JavaFX ร่วมกับการหมุนเพื่อเพิ่มความสมจริงในมุมมอง 3D เพิ่มแอนิเมชัน ใช้ Timeline หรือ KeyFrame เพื่อสร้างการหมุนที่ค่อยๆ เปลี่ยนแปลง กำหนดแกนและมุมการหมุนอย่างเหมาะสมเพื่อให้ดูเหมือนการพลิกหน้าจริง เพิ่มเงาในระหว่างการพลิก เพิ่มเอฟเฟกต์ไล่เฉดสี (gradient) หรือวัตถุโปร่งแสงเพื่อสร้างเงา อัปเดตตำแหน่งเงาให้เคลื่อนไหวไปพร้อมกับหน้าที่พลิก แสดงเนื้อหาหน้าและหลังของกระดาษ ให้ด้านหลังของหน้าที่พลิกแสดงเนื้อหาของหน้าถัดไป ...

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

 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 </ ja...

สอนสร้างแอนิเมชันแบบ macOS ใน JavaFX

JavaFX เป็นเครื่องมือที่ยอดเยี่ยมสำหรับการสร้าง UI ที่ทันสมัยและสามารถเพิ่มแอนิเมชันเพื่อทำให้แอปพลิเคชันดูมีชีวิตชีวามากขึ้น เช่น การขยายแท็บหรือเอฟเฟกต์เมื่อเมาส์ชี้ปุ่ม ซึ่งสามารถทำให้ผู้ใช้รู้สึกเหมือนใช้ macOS ได้ เรามาดูกันว่าคุณสามารถสร้างแอนิเมชันเหล่านี้ใน JavaFX ได้อย่างไร เอฟเฟกต์ Hover บนปุ่ม เมื่อต้องการให้ปุ่มดูโดดเด่นเมื่อผู้ใช้เลื่อนเมาส์ไปชี้ เราสามารถใช้ ScaleTransition เพื่อสร้างเอฟเฟกต์การขยายได้: import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.effect.DropShadow; import javafx.scene.paint.Color; import javafx.scene.layout.StackPane; import javafx.stage.Stage; import javafx.animation.ScaleTransition; import javafx.util.Duration; public class ButtonHoverEffect extends Application { @Override public void start(Stage stage) { Button button = new Button( "Hover Me" ); DropShadow shadow = new DropShadow(); shadow.setColo...

สอนสร้างระบบ Point of Sale (POS) ด้วย JavaFX และ Spring Boot

 การสร้างระบบ Point of Sale (POS) ที่สามารถใช้ได้จริงในธุรกิจขนาดเล็กสามารถเริ่มต้นได้ด้วย JavaFX และ Spring Boot ซึ่งเป็นเครื่องมือยอดนิยมในสายงาน Java ทั้งสองนี้ช่วยให้สามารถพัฒนาแอปพลิเคชันที่มีประสิทธิภาพและมีส่วนติดต่อผู้ใช้ (UI) ที่สวยงามได้ง่ายๆ บทความนี้จะแบ่งออกเป็นหลายตอนเพื่อให้คุณสามารถเข้าใจและนำไปใช้งานได้อย่างต่อเนื่อง ตอนที่ 1: การเตรียมความพร้อม 1. ติดตั้งเครื่องมือ Java Development Kit (JDK):  ดาวน์โหลดและติดตั้ง JDK เวอร์ชันล่าสุด IDE:  ใช้ IntelliJ IDEA หรือ Eclipse เพื่อเขียนโค้ด Maven/Gradle:  สำหรับการจัดการ Dependency 2. สร้างโปรเจกต์ Spring Boot ใช้ Spring Initializr ( https://start.spring.io ) เพื่อสร้างโปรเจกต์พร้อม Dependency: Spring Web Spring Data JPA (ถ้ามีฐานข้อมูล) Lombok 3. สร้างโปรเจกต์ JavaFX เพิ่มไลบรารี JavaFX ลงในโปรเจกต์โดยใช้ Maven หรือ Gradle: < dependency > < groupId > org.openjfx </ groupId > < artifactId > javafx-controls </ artifactId > < version > 20 </ version > </ ...