Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

โครงสร้างแอปพลิเคชัน JavaFX

โดยทั่วไป แอปพลิเคชัน JavaFX จะมี 3 องค์ประกอบหลัก ได้แก่ Stage, Scene และ Nodes ตามภาพประกอบด้านล่าง

โครงสร้างแอปพลิเคชัน JavaFX

Stage (เวที/หน้าต่าง)

Stage (หน้าต่าง) บรรจุอ็อบเจ็กต์ทั้งหมดของแอปพลิเคชัน JavaFX แทนด้วยคลาส Stage ในแพ็กเกจ javafx.stage คุณต้องเรียกเมธอด show() เพื่อแสดงเนื้อหาของ Stage

Scene Graph (กราฟฉาก)

Scene graph เป็นโครงสร้างข้อมูลคล้ายต้นไม้ ในแอปพลิเคชันกราฟิกส์สมัยใหม่ เป็นการรวบรวมโหนด (nodes) ใน JavaFX คลาส javafx.scene.Scene จัดเก็บเนื้อหาทั้งหมดของ scene graph

  • ขณะสร้าง Scene จำเป็นต้องระบุ root node เสมอ
  • ในหนึ่งครั้ง Scene object จะถูกเพิ่มเข้าไปใน Stage เพียง Stage เดียวเท่านั้น

Nodes (โหนด)

Node เป็นอ็อบเจ็กต์ภาพ/กราฟิกส์พื้นฐานของแอปพลิเคชัน JavaFX

ตัวอย่างของ nodes ได้แก่: อ็อบเจ็กต์เรขาคณิต 2D และ 3D (วงกลม, गोला, ฯลฯ), อ็อบเจ็กต์ควบคุม UI (ปุ่ม, checkbox, ฯลฯ), อ็อบเจ็กต์คอนเทนเนอร์/เลย์เอาต์ (BorderPane, GridPane, ฯลฯ), อ็อบเจ็กต์สื่อ (เสียง, วิดีโอ, รูปภาพ, ฯลฯ)

โหนดแต่ละตัวใน scene graph มี parent เดียว โหนดที่ไม่มี parent เรียกว่า root node โหนดที่ไม่มีลูก (children) เรียกว่า leaf node โหนดที่มีลูก เรียกว่า branch node

ต่อไปนี้คือชนิดของ root nodes ต่างๆ ใน JavaFX:

  • Group - โหนดรวมที่มีรายการโหนดลูก เมื่อ render Group โหนดลูกทั้งหมดจะถูก render ตามลำดับ การแปลงรูป (transformation) หรือสถานะเอฟเฟกต์ที่ใช้กับ Group จะมีผลต่อโหนดลูกทั้งหมด
  • Region - คลาสฐานของ UI Controls ทั้งหมดที่ใช้ Node ใน JavaFX เช่น Chart, Pane และ Control
  • WebView - โหนดที่จัดการ web engine และแสดงเนื้อหา
  • Leaf Node - โหนดที่ไม่มีโหนดลูก เช่น Rectangle, Ellipse, Box, ImageView, MediaView