JavaFX - แอปพลิเคชัน

ในบทนี้เราจะพูดถึงโครงสร้างของแอปพลิเคชัน JavaFX โดยละเอียดและเรียนรู้การสร้างแอปพลิเคชัน JavaFX ด้วยตัวอย่าง

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

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

เวที

สเตจ (หน้าต่าง) ประกอบด้วยอ็อบเจ็กต์ทั้งหมดของแอ็พพลิเคชัน JavaFX มันแสดงโดยStage คลาสของแพ็คเกจ javafx.stage. ขั้นตอนหลักถูกสร้างขึ้นโดยแพลตฟอร์มเอง วัตถุระยะที่สร้างขึ้นจะถูกส่งผ่านเป็นอาร์กิวเมนต์ไปยังไฟล์start() วิธีการของ Application ชั้นเรียน (อธิบายในหัวข้อถัดไป)

สเตจมีพารามิเตอร์สองตัวที่กำหนดตำแหน่งคือ Width และ Height. แบ่งเป็นพื้นที่เนื้อหาและของประดับตกแต่ง (แถบชื่อเรื่องและพรมแดน)

มีห้าประเภทของขั้นตอน -

  • Decorated
  • Undecorated
  • Transparent
  • Unified
  • Utility

คุณต้องโทร show() วิธีการแสดงเนื้อหาของเวที

ฉาก

ฉากแสดงเนื้อหาทางกายภาพของแอ็พพลิเคชัน JavaFX ประกอบด้วยเนื้อหาทั้งหมดของกราฟฉาก ห้องเรียนScene ของแพ็คเกจ javafx.sceneแสดงถึงวัตถุฉาก ในกรณีตัวอย่างวัตถุฉากจะถูกเพิ่มเข้าไปในขั้นตอนเดียวเท่านั้น

คุณสามารถสร้างฉากโดยการสร้างฉากคลาส คุณสามารถเลือกขนาดของฉากได้โดยส่งขนาด (ความสูงและความกว้าง) พร้อมกับไฟล์root node ไปยังผู้สร้าง

กราฟฉากและโหนด

scene graphเป็นโครงสร้างข้อมูลแบบต้นไม้ (ตามลำดับชั้น) ที่แสดงเนื้อหาของฉาก ในทางตรงกันข้ามกnode เป็นวัตถุภาพ / กราฟิกของกราฟฉาก

โหนดอาจรวมถึง -

  • วัตถุทางเรขาคณิต (กราฟิก) (2D และ 3D) เช่น - วงกลมสี่เหลี่ยมผืนผ้ารูปหลายเหลี่ยมเป็นต้น

  • การควบคุม UI เช่น - ปุ่ม, ช่องทำเครื่องหมาย, ช่องตัวเลือก, พื้นที่ข้อความ ฯลฯ

  • คอนเทนเนอร์ (บานหน้าต่างเค้าโครง) เช่นบานหน้าต่างเส้นขอบบานหน้าต่างตารางบานหน้าต่างการไหลเป็นต้น

  • องค์ประกอบสื่อเช่นออบเจ็กต์เสียงวิดีโอและรูปภาพ

Node คลาสของแพ็คเกจ javafx.scene แทนโหนดใน JavaFX คลาสนี้เป็นซูเปอร์คลาสของโหนดทั้งหมด

ตามที่กล่าวไว้ก่อนหน้านี้โหนดมีสามประเภท -

  • Root Node - กราฟฉากแรกเรียกว่าโหนดรูท

  • Branch Node/Parent Node- โหนดที่มีโหนดลูกเรียกว่าโหนดสาขา / พาเรนต์ คลาสนามธรรมชื่อParent ของแพ็คเกจ javafx.scene เป็นคลาสฐานของโหนดพาเรนต์ทั้งหมดและโหนดพาเรนต์เหล่านั้นจะเป็นประเภทต่อไปนี้ -

    • Group- โหนดกลุ่มคือโหนดรวมที่มีรายการโหนดลูก เมื่อใดก็ตามที่โหนดกลุ่มถูกแสดงโหนดลูกทั้งหมดจะแสดงผลตามลำดับ การเปลี่ยนแปลงสถานะเอฟเฟกต์ที่ใช้กับกลุ่มจะถูกนำไปใช้กับโหนดลูกทั้งหมด

    • Region - เป็นคลาสพื้นฐานของการควบคุม UI ที่ใช้โหนด JavaFX ทั้งหมดเช่นแผนภูมิบานหน้าต่างและการควบคุม

    • WebView - โหนดนี้จัดการเว็บเอ็นจิ้นและแสดงเนื้อหา

  • Leaf Node- โหนดที่ไม่มีโหนดลูกเรียกว่าโหนดลีฟ ตัวอย่างเช่น Rectangle, Ellipse, Box, ImageView, MediaView เป็นตัวอย่างของโหนดลีฟ

จำเป็นต้องส่งโหนดรูทไปยังกราฟฉาก หากกลุ่มถูกส่งเป็นรูทโหนดทั้งหมดจะถูกตัดไปที่ฉากและการเปลี่ยนแปลงขนาดของฉากจะไม่ส่งผลต่อเลย์เอาต์ของฉาก

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

ในการสร้างแอ็พพลิเคชัน JavaFX คุณต้องสร้างอินสแตนซ์คลาสแอ็พพลิเคชันและใช้เมธอดนามธรรม start(). ในวิธีนี้เราจะเขียนโค้ดสำหรับ JavaFX Application

คลาสแอปพลิเคชัน

Application คลาสของแพ็คเกจ javafx.applicationเป็นจุดเริ่มต้นของแอ็พพลิเคชันใน JavaFX ในการสร้างแอ็พพลิเคชัน JavaFX คุณต้องสืบทอดคลาสนี้และใช้เมธอดนามธรรมstart(). ในวิธีนี้คุณต้องเขียนโค้ดทั้งหมดสำหรับกราฟิก JavaFX

ใน main คุณต้องเปิดแอปพลิเคชันโดยใช้ไฟล์ launch()วิธี. วิธีนี้เรียกว่าไฟล์start() วิธีการของคลาส Application ดังแสดงในโปรแกรมต่อไปนี้

public class JavafxSample extends Application {  
   @Override     
   public void start(Stage primaryStage) throws Exception { 
      /* 
      Code for JavaFX application. 
      (Stage, scene, scene graph) 
      */       
   }         
   public static void main(String args[]){           
      launch(args);      
   } 
}

ภายใน start() ในการสร้างแอปพลิเคชัน JavaFX ทั่วไปคุณต้องทำตามขั้นตอนที่ระบุด้านล่าง -

  • เตรียมกราฟฉากพร้อมโหนดที่ต้องการ

  • เตรียมฉากที่มีขนาดที่ต้องการและเพิ่มกราฟฉาก (โหนดรูทของกราฟฉาก) เข้าไป

  • จัดเตรียมเวทีและเพิ่มฉากลงในเวทีและแสดงเนื้อหาของเวที

การจัดเตรียมกราฟฉาก

ตามใบสมัครของคุณคุณต้องเตรียมกราฟฉากพร้อมโหนดที่จำเป็น เนื่องจากโหนดรูทเป็นโหนดแรกคุณจึงต้องสร้างโหนดรูท ในฐานะรูทโหนดคุณสามารถเลือกจากไฟล์Group, Region or WebView.

Group - โหนดกลุ่มแสดงโดยคลาสที่มีชื่อว่า Group ซึ่งเป็นของแพ็คเกจ javafx.sceneคุณสามารถสร้างโหนดกลุ่มได้โดยสร้างอินสแตนซ์คลาสนี้ดังที่แสดงด้านล่าง

Group root = new Group();

getChildren() วิธีการของ Group คลาสให้คุณมีวัตถุ ObservableListคลาสที่เก็บโหนด เราสามารถดึงวัตถุนี้และเพิ่มโหนดเข้าไปได้ดังภาพด้านล่าง

//Retrieving the observable list object 
ObservableList list = root.getChildren(); 
       
//Setting the text object as a node  
list.add(NodeObject);

นอกจากนี้เรายังสามารถเพิ่มวัตถุโหนดลงในกลุ่มได้เพียงแค่ส่งต่อไปยังไฟล์ Group คลาสและตัวสร้างในช่วงเวลาของการสร้างอินสแตนซ์ดังที่แสดงด้านล่าง

Group root = new Group(NodeObject);

Region - เป็นคลาสฐานของการควบคุม UI ที่ใช้โหนด JavaFX ทั้งหมดเช่น -

  • Chart - คลาสนี้เป็นคลาสพื้นฐานของแผนภูมิทั้งหมดและเป็นของแพ็คเกจ javafx.scene.chart.

    คลาสนี้มีคลาสย่อยสองคลาสคือ - PieChart และ XYChart. ทั้งสองมีคลาสย่อยเช่นAreaChart, BarChart, BubbleChartฯลฯ ใช้เพื่อวาด XY-Plane Charts ประเภทต่างๆใน JavaFX

    คุณสามารถใช้คลาสเหล่านี้เพื่อฝังแผนภูมิในแอปพลิเคชันของคุณ

  • Pane - บานหน้าต่างคือคลาสฐานของบานหน้าต่างเลย์เอาต์ทั้งหมดเช่น AnchorPane, BorderPane, DialogPaneฯลฯ คลาสนี้อยู่ในแพ็คเกจที่เรียกว่า - javafx.scene.layout.

    คุณสามารถใช้คลาสเหล่านี้เพื่อแทรกเค้าโครงที่กำหนดไว้ล่วงหน้าในแอปพลิเคชันของคุณ

  • Control - เป็นคลาสพื้นฐานของส่วนควบคุมส่วนต่อประสานผู้ใช้เช่น Accordion, ButtonBar, ChoiceBox, ComboBoxBase, HTMLEditor, etc. This class belongs to the package javafx.scene.control.

    คุณสามารถใช้คลาสเหล่านี้เพื่อแทรกองค์ประกอบ UI ต่างๆในแอปพลิเคชันของคุณ

ในกลุ่มคุณสามารถสร้างอินสแตนซ์ของคลาสที่กล่าวถึงข้างต้นและใช้เป็นโหนดรูทดังที่แสดงในโปรแกรมต่อไปนี้

//Creating a Stack Pane 
StackPane pane = new StackPane();       
       
//Adding text area to the pane  
ObservableList list = pane.getChildren(); 
list.add(NodeObject);

WebView - โหนดนี้จัดการเว็บเอ็นจิ้นและแสดงเนื้อหา

ต่อไปนี้เป็นแผนภาพที่แสดงถึงลำดับชั้นคลาสโหนดของ JavaFX

การเตรียมฉาก

ฉาก JavaFX แสดงโดยไฟล์ Scene คลาสของแพ็คเกจ javafx.scene. คุณสามารถสร้างฉากโดยสร้างอินสแตนซ์คลาสนี้ดังที่แสดงในบล็อก cod ต่อไปนี้

ในขณะที่สร้างอินสแตนซ์จำเป็นต้องส่งผ่านอ็อบเจ็กต์รูทไปยังคอนสตรัคเตอร์ของคลาสฉาก

Scene scene = new Scene(root);

นอกจากนี้คุณยังสามารถส่งผ่านพารามิเตอร์สองประเภทที่แสดงถึงความสูงและความกว้างของฉากดังที่แสดงด้านล่าง

Scene scene = new Scene(root, 600, 300);

กำลังเตรียมเวที

นี่คือคอนเทนเนอร์ของแอ็พพลิเคชัน JavaFX ใด ๆ และมีหน้าต่างสำหรับแอ็พพลิเคชัน มันแสดงโดยStage คลาสของแพ็คเกจ javafx.stage. อ็อบเจ็กต์ของคลาสนี้ถูกส่งผ่านเป็นพารามิเตอร์ของstart() วิธีการของ Application ชั้นเรียน

การใช้วัตถุนี้คุณสามารถดำเนินการต่างๆบนพื้นที่งานได้ โดยหลักแล้วคุณสามารถดำเนินการดังต่อไปนี้ -

  • ตั้งชื่อสำหรับสเตจโดยใช้เมธอด setTitle().

  • แนบวัตถุฉากเข้ากับพื้นที่งานโดยใช้ setScene() วิธี.

  • แสดงเนื้อหาของฉากโดยใช้ปุ่ม show() วิธีการดังแสดงด้านล่าง

//Setting the title to Stage. 
primaryStage.setTitle("Sample application"); 
       
//Setting the scene to Stage 
primaryStage.setScene(scene); 
       
//Displaying the stage 
primaryStage.show();

วงจรชีวิตของแอปพลิเคชัน JavaFX

คลาส JavaFX Application มีสามวิธีวงจรชีวิตซึ่ง ได้แก่ -

  • start() - วิธีจุดเข้าใช้ที่จะเขียนโค้ดกราฟิก JavaFX

  • stop() - วิธีว่างที่สามารถลบล้างได้ที่นี่คุณสามารถเขียนตรรกะเพื่อหยุดแอปพลิเคชันได้

  • init() - วิธีการว่างเปล่าที่สามารถลบล้างได้ แต่คุณไม่สามารถสร้างเวทีหรือฉากในวิธีนี้ได้

นอกจากนี้ยังมีวิธีการแบบคงที่ที่ชื่อ launch() เพื่อเปิดแอปพลิเคชัน JavaFX

ตั้งแต่ launch()วิธีการเป็นแบบคงที่คุณต้องเรียกใช้จากบริบทคงที่ (โดยทั่วไปหลัก) เมื่อใดก็ตามที่เปิดแอปพลิเคชัน JavaFX การดำเนินการต่อไปนี้จะดำเนินการ (ตามลำดับเดียวกัน)

  • มีการสร้างอินสแตนซ์ของคลาสแอปพลิเคชัน

  • Init() เรียกว่าวิธีการ

  • start() เรียกว่าวิธีการ

  • ตัวเรียกใช้งานรอให้แอปพลิเคชันทำงานจนเสร็จและเรียกไฟล์ stop() วิธี.

การยุติแอ็พพลิเคชัน JavaFX

เมื่อปิดหน้าต่างสุดท้ายของแอ็พพลิเคชันแอ็พพลิเคชัน JavaFX จะถูกยกเลิกโดยปริยาย คุณสามารถปิดพฤติกรรมนี้ได้โดยส่งค่าบูลีน“ False” ไปยังวิธีการแบบคงที่ setImplicitExit() (ควรเรียกจากบริบทคงที่)

คุณสามารถยุติแอ็พพลิเคชัน JavaFX อย่างชัดเจนโดยใช้วิธีการ Platform.exit() หรือ System.exit(int).

ตัวอย่างที่ 1 - การสร้างหน้าต่างว่าง

ส่วนนี้จะสอนวิธีสร้างแอปพลิเคชันตัวอย่าง JavaFX ซึ่งแสดงหน้าต่างว่าง ต่อไปนี้เป็นขั้นตอน -

ขั้นตอนที่ 1: การสร้างคลาส

สร้างคลาส Java และสืบทอด Application คลาสของแพ็คเกจ javafx.application และใช้เมธอด start () ของคลาสนี้ดังนี้

public class JavafxSample extends Application {  
   @Override     
   public void start(Stage primaryStage) throws Exception {      
   }    
}

ขั้นตอนที่ 2: การสร้าง Group Object

ใน start() เมธอดสร้างอ็อบเจ็กต์กลุ่มโดยสร้างอินสแตนซ์คลาสที่ชื่อ Group ซึ่งเป็นของแพ็กเกจ javafx.sceneดังต่อไปนี้.

Group root = new Group();

ขั้นตอนที่ 3: การสร้างวัตถุฉาก

สร้างฉากโดยสร้างอินสแตนซ์คลาสที่มีชื่อว่า Scene ซึ่งเป็นของแพ็คเกจ javafx.scene. ในคลาสนี้ให้ส่งผ่านวัตถุกลุ่ม(root)สร้างขึ้นในขั้นตอนก่อนหน้า

นอกจากออบเจ็กต์รูทแล้วคุณยังสามารถส่งผ่านพารามิเตอร์สองตัวที่แสดงถึงความสูงและความกว้างของหน้าจอพร้อมกับอ็อบเจ็กต์ของคลาส Group ได้ดังนี้

Scene scene = new Scene(root,600, 300);

ขั้นตอนที่ 4: การตั้งชื่อของเวที

คุณสามารถตั้งชื่อเป็นพื้นที่งานโดยใช้ไฟล์ setTitle() วิธีการของ Stageชั้นเรียน primaryStage เป็นวัตถุ Stage ซึ่งส่งผ่านไปยังวิธีการเริ่มต้นของคลาสฉากเป็นพารามิเตอร์

ใช้ primaryStage ออบเจ็กต์ตั้งชื่อของฉากเป็น Sample Application ดังแสดงด้านล่าง

primaryStage.setTitle("Sample Application");

ขั้นตอนที่ 5: การเพิ่มฉากในเวที

คุณสามารถเพิ่มวัตถุ Scene ในพื้นที่งานโดยใช้วิธีการ setScene() ของคลาสชื่อ Stage. เพิ่มวัตถุ Scene ที่เตรียมไว้ในขั้นตอนก่อนหน้าโดยใช้วิธีนี้ดังที่แสดงด้านล่าง

primaryStage.setScene(scene);

ขั้นตอนที่ 6: การแสดงเนื้อหาของเวที

แสดงเนื้อหาของฉากโดยใช้วิธีการที่ชื่อ show() ของ Stage class ดังนี้.

primaryStage.show();

ขั้นตอนที่ 7: เปิดแอปพลิเคชัน

เรียกใช้แอ็พพลิเคชัน JavaFX โดยเรียกใช้วิธีการแบบคงที่ launch() ของ Application คลาสจากวิธีการหลักดังนี้

public static void main(String args[]){   
   launch(args);      
}

ตัวอย่าง

โปรแกรมต่อไปนี้สร้างหน้าต่าง JavaFX ที่ว่างเปล่า บันทึกรหัสนี้ในไฟล์ที่มีชื่อJavafxSample.java

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.scene.paint.Color; 
import javafx.stage.Stage;  

public class JavafxSample extends Application { 
   @Override     
   public void start(Stage primaryStage) throws Exception {            
      //creating a Group object 
      Group group = new Group(); 
       
      //Creating a Scene by passing the group object, height and width   
      Scene scene = new Scene(group ,600, 300); 
      
      //setting color to the scene 
      scene.setFill(Color.BROWN);  
      
      //Setting the title to Stage. 
      primaryStage.setTitle("Sample Application"); 
   
      //Adding the scene to Stage 
      primaryStage.setScene(scene); 
       
      //Displaying the contents of the stage 
      primaryStage.show(); 
   }    
   public static void main(String args[]){          
      launch(args);     
   }         
}

คอมไพล์และเรียกใช้ไฟล์ java ที่บันทึกไว้จากพรอมต์คำสั่งโดยใช้คำสั่งต่อไปนี้

javac JavafxSample.java 
java JavafxSample

ในการดำเนินการโปรแกรมด้านบนจะสร้างหน้าต่าง JavaFX ดังที่แสดงด้านล่าง

ตัวอย่างที่ 2 - การวาดเส้นตรง

ในตัวอย่างก่อนหน้านี้เราได้เห็นวิธีสร้างสเตจว่างแล้วในตัวอย่างนี้ให้เราลองวาดเส้นตรงโดยใช้ไลบรารี JavaFX

ต่อไปนี้เป็นขั้นตอน -

ขั้นตอนที่ 1: การสร้างคลาส

สร้างคลาส Java และสืบทอด Application คลาสของแพ็คเกจ javafx.application และใช้ start() วิธีการของคลาสนี้ดังนี้

public class DrawingLine extends Application {
   @Override     
   public void start(Stage primaryStage) throws Exception {     
   }    
}

ขั้นตอนที่ 2: การสร้างเส้น

คุณสามารถสร้างบรรทัดใน JavaFX ได้โดยสร้างอินสแตนซ์คลาสที่ชื่อ Line ซึ่งเป็นของแพ็คเกจ javafx.scene.shapeสร้างอินสแตนซ์คลาสนี้ดังนี้

//Creating a line object         
Line line = new Line();

ขั้นตอนที่ 3: การตั้งค่าคุณสมบัติเป็นเส้น

ระบุพิกัดเพื่อลากเส้นบนระนาบ XY โดยตั้งค่าคุณสมบัติ startX, startY, endX และ endYโดยใช้วิธีการตั้งค่าตามลำดับดังที่แสดงในบล็อกรหัสต่อไปนี้

line.setStartX(100.0); 
line.setStartY(150.0); 
line.setEndX(500.0); 
line.setEndY(150.0);

ขั้นตอนที่ 4: การสร้าง Group Object

ในเมธอด start () สร้างอ็อบเจ็กต์กลุ่มโดยสร้างอินสแตนซ์คลาสชื่อ Group ซึ่งเป็นของแพ็กเกจ javafx.scene

ส่งผ่านวัตถุ Line (โหนด) ที่สร้างขึ้นในขั้นตอนก่อนหน้าเป็นพารามิเตอร์ไปยังตัวสร้างของคลาสกลุ่มเพื่อเพิ่มลงในกลุ่มดังนี้ -

Group root = new Group(line);

ขั้นตอนที่ 5: การสร้างวัตถุฉาก

สร้างฉากโดยสร้างอินสแตนซ์คลาสที่มีชื่อว่า Scene ซึ่งเป็นของแพ็คเกจ javafx.scene. ในคลาสนี้ให้ส่งผ่านวัตถุกลุ่ม(root) ที่สร้างขึ้นในขั้นตอนก่อนหน้านี้

นอกจากออบเจ็กต์รูทแล้วคุณยังสามารถส่งผ่านพารามิเตอร์สองตัวที่แสดงถึงความสูงและความกว้างของหน้าจอพร้อมกับอ็อบเจ็กต์ของคลาส Group ได้ดังนี้

Scene scene = new Scene(group ,600, 300);

ขั้นตอนที่ 6: การตั้งชื่อของเวที

คุณสามารถตั้งชื่อเป็นพื้นที่งานโดยใช้ไฟล์ setTitle() วิธีการของ Stageชั้นเรียน primaryStage เป็นวัตถุ Stage ซึ่งส่งผ่านไปยังวิธีการเริ่มต้นของคลาสฉากเป็นพารามิเตอร์

ใช้ primaryStage ออบเจ็กต์ตั้งชื่อของฉากเป็น Sample Application ดังต่อไปนี้.

primaryStage.setTitle("Sample Application");

ขั้นตอนที่ 7: การเพิ่มฉากในเวที

คุณสามารถเพิ่มวัตถุ Scene ในพื้นที่งานโดยใช้วิธีการ setScene() ของคลาสชื่อ Stage. เพิ่มวัตถุ Scene ที่เตรียมไว้ในขั้นตอนก่อนหน้าโดยใช้วิธีนี้ดังต่อไปนี้

primaryStage.setScene(scene);

ขั้นตอนที่ 8: การแสดงเนื้อหาของเวที

แสดงเนื้อหาของฉากโดยใช้วิธีการที่ชื่อ show() ของ Stage class ดังนี้.

primaryStage.show();

ขั้นตอนที่ 9: เปิดแอปพลิเคชัน

เรียกใช้แอ็พพลิเคชัน JavaFX โดยเรียกใช้วิธีการแบบคงที่ launch() ของ Application คลาสจากวิธีการหลักดังนี้

public static void main(String args[]){   
   launch(args);      
}

ตัวอย่าง

โปรแกรมต่อไปนี้แสดงวิธีสร้างเส้นตรงโดยใช้ JavaFX บันทึกรหัสนี้ในไฟล์ที่มีชื่อJavafxSample.java.

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.scene.shape.Line; 
import javafx.stage.Stage;  

public class DrawingLine extends Application{ 
   @Override 
   public void start(Stage stage) { 
      //Creating a line object 
      Line line = new Line(); 
         
      //Setting the properties to a line 
      line.setStartX(100.0); 
      line.setStartY(150.0); 
      line.setEndX(500.0); 
      line.setEndY(150.0); 
         
      //Creating a Group 
      Group root = new Group(line); 
         
      //Creating a Scene 
      Scene scene = new Scene(root, 600, 300); 
         
      //Setting title to the scene 
      stage.setTitle("Sample application"); 
         
      //Adding the scene to the stage 
      stage.setScene(scene); 
         
      //Displaying the contents of a scene 
      stage.show(); 
   }      
   public static void main(String args[]){ 
      launch(args); 
   } 
}

คอมไพล์และเรียกใช้ไฟล์ java ที่บันทึกไว้จากพรอมต์คำสั่งโดยใช้คำสั่งต่อไปนี้

javac DrawingLine.java 
java DrawingLine

ในการดำเนินการโปรแกรมด้านบนจะสร้างหน้าต่าง JavaFX ที่แสดงเส้นตรงดังที่แสดงด้านล่าง

ตัวอย่างที่ 3 - การแสดงข้อความ

นอกจากนี้เรายังสามารถฝังข้อความในฉาก JavaFX ตัวอย่างนี้แสดงวิธีการฝังข้อความใน JavaFX

ต่อไปนี้เป็นขั้นตอน -

ขั้นตอนที่ 1: การสร้างคลาส

สร้าง Java Class และสืบทอด Application คลาสของแพ็คเกจ javafx.application และใช้ start() วิธีการของคลาสนี้ดังนี้

public class DrawingLine extends Application {  
   @Override     
   public void start(Stage primaryStage) throws Exception {     
   } 
}

ขั้นตอนที่ 2: การฝังข้อความ

คุณสามารถฝังข้อความลงในฉาก JavaFX ได้โดยสร้างอินสแตนซ์คลาสที่ชื่อ Text ซึ่งเป็นของแพ็คเกจ javafx.scene.shapeสร้างอินสแตนซ์คลาสนี้

คุณสามารถสร้างอินสแตนซ์คลาสนี้ได้โดยการส่งข้อความที่จะฝังในรูปแบบสตริงหรือคุณสามารถสร้างวัตถุข้อความโดยใช้ตัวสร้างเริ่มต้นดังที่แสดงด้านล่าง

//Creating a Text object 
Text text = new Text();

ขั้นตอนที่ 3: การตั้งค่าแบบอักษร

คุณสามารถตั้งค่าแบบอักษรเป็นข้อความโดยใช้ setFont() วิธีการของ Textชั้นเรียน วิธีนี้ยอมรับวัตถุแบบอักษรเป็นพารามิเตอร์ ตั้งค่าแบบอักษรของข้อความที่กำหนดเป็น 45 ดังที่แสดงด้านล่าง

//Setting font to the text 
text.setFont(new Font(45));

ขั้นตอนที่ 4: การตั้งค่าตำแหน่งของข้อความ

คุณสามารถกำหนดตำแหน่งของข้อความบนระนาบ XY ได้โดยตั้งค่าพิกัด X, Y โดยใช้วิธีการตั้งค่าตามลำดับ setX() และ setY() ดังต่อไปนี้.

//setting the position of the text 
text.setX(50); 
text.setY(150);

ขั้นตอนที่ 5: ตั้งค่าข้อความที่จะเพิ่ม

คุณสามารถตั้งค่าข้อความที่จะเพิ่มโดยใช้เมธอด setText () ของคลาส Text วิธีนี้ยอมรับพารามิเตอร์สตริงที่แสดงข้อความที่จะเพิ่ม

text.setText("Welcome to Tutorialspoint");

ขั้นตอนที่ 6: การสร้าง Group Object

ใน start() เมธอดสร้างอ็อบเจ็กต์กลุ่มโดยสร้างอินสแตนซ์คลาสชื่อ Group ซึ่งเป็นของแพ็กเกจ javafx.scene.

ส่งผ่านวัตถุข้อความ (โหนด) ที่สร้างขึ้นในขั้นตอนก่อนหน้าเป็นพารามิเตอร์ไปยังตัวสร้างของคลาสกลุ่มเพื่อเพิ่มลงในกลุ่มดังนี้ -

Group root = new Group(text)

ขั้นตอนที่ 7: การสร้างวัตถุฉาก

สร้างฉากโดยสร้างอินสแตนซ์คลาสที่มีชื่อว่า Scene ซึ่งเป็นของแพ็คเกจ javafx.scene. ในคลาสนี้ให้ส่งผ่านวัตถุกลุ่ม(root)สร้างขึ้นในขั้นตอนก่อนหน้า

นอกจากออบเจ็กต์รูทแล้วคุณยังสามารถส่งผ่านพารามิเตอร์สองตัวที่แสดงถึงความสูงและความกว้างของหน้าจอพร้อมกับอ็อบเจ็กต์ของคลาส Group ได้ดังนี้

Scene scene = new Scene(group ,600, 300);

ขั้นตอนที่ 8: การตั้งชื่อของเวที

คุณสามารถตั้งชื่อเป็นพื้นที่งานโดยใช้ไฟล์ setTitle() วิธีการของ Stageชั้นเรียน primaryStage เป็นวัตถุ Stage ซึ่งส่งผ่านไปยังวิธีการเริ่มต้นของคลาสฉากเป็นพารามิเตอร์

ใช้ primaryStage ออบเจ็กต์ตั้งชื่อของฉากเป็น Sample Application ดังแสดงด้านล่าง

primaryStage.setTitle("Sample Application");

ขั้นตอนที่ 9: การเพิ่มฉากในเวที

คุณสามารถเพิ่มวัตถุ Scene ในพื้นที่งานโดยใช้วิธีการ setScene() ของคลาสชื่อ Stage. เพิ่มวัตถุ Scene ที่เตรียมไว้ในขั้นตอนก่อนหน้าโดยใช้วิธีนี้ดังต่อไปนี้

primaryStage.setScene(scene);

ขั้นตอนที่ 10: การแสดงเนื้อหาของเวที

แสดงเนื้อหาของฉากโดยใช้วิธีการที่ชื่อ show() ของ Stage class ดังนี้.

primaryStage.show();

ขั้นตอนที่ 11: เปิดแอปพลิเคชัน

เรียกใช้แอ็พพลิเคชัน JavaFX โดยเรียกใช้วิธีการแบบคงที่ launch() ของ Application คลาสจากวิธีการหลักดังนี้

public static void main(String args[]){ 
   launch(args);      
}

ตัวอย่าง

ต่อไปนี้เป็นโปรแกรมสำหรับแสดงข้อความโดยใช้ JavaFX บันทึกรหัสนี้ในไฟล์ที่มีชื่อDisplayingText.java.

import javafx.application.Application; 
import javafx.collections.ObservableList; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.stage.Stage; 
import javafx.scene.text.Font; 
import javafx.scene.text.Text; 
         
public class DisplayingText extends Application { 
   @Override 
   public void start(Stage stage) {       
      //Creating a Text object 
      Text text = new Text(); 
       
      //Setting font to the text 
      text.setFont(new Font(45)); 
       
      //setting the position of the text 
      text.setX(50); 
      text.setY(150);          
      
      //Setting the text to be added. 
      text.setText("Welcome to Tutorialspoint"); 
         
      //Creating a Group object  
      Group root = new Group(); 
       
      //Retrieving the observable list object 
      ObservableList list = root.getChildren(); 
       
      //Setting the text object as a node to the group object 
      list.add(text);       
               
      //Creating a scene object 
      Scene scene = new Scene(root, 600, 300); 
       
      //Setting title to the Stage 
      stage.setTitle("Sample Application"); 
         
      //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 DisplayingText.java 
java DisplayingText

ในการดำเนินการโปรแกรมด้านบนจะสร้างหน้าต่าง JavaFX ที่แสดงข้อความดังที่แสดงด้านล่าง