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 एक दृश्य ग्राफ का एक दृश्य / चित्रमय वस्तु है।

एक नोड में शामिल हो सकते हैं -

  • ज्यामितीय (ग्राफिकल) वस्तुएँ (2 डी और 3 डी) जैसे - वृत्त, आयत, बहुभुज, आदि।

  • UI नियंत्रण जैसे कि - बटन, चेकबॉक्स, चॉइस बॉक्स, टेक्स्ट एरिया आदि।

  • कंटेनर (लेआउट पैन) जैसे बॉर्डर पेन, ग्रिड पेन, फ्लो पेन इत्यादि।

  • मीडिया तत्व जैसे कि ऑडियो, वीडियो और छवि ऑब्जेक्ट।

Node पैकेज की कक्षा javafx.scene JavaFX में एक नोड का प्रतिनिधित्व करता है, यह क्लास सभी नोड्स का सुपर क्लास है।

जैसा कि पहले चर्चा की गई है कि एक नोड तीन प्रकार का होता है -

  • Root Node - पहला दृश्य ग्राफ रूट नोड के रूप में जाना जाता है।

  • Branch Node/Parent Node- बाल नोड्स वाले नोड को शाखा / माता-पिता नोड्स के रूप में जाना जाता है। नाम का अमूर्त वर्गParent पैकेज का javafx.scene सभी मूल नोड्स का आधार वर्ग है, और उन मूल नोड्स निम्न प्रकार के होंगे -

    • Group- एक समूह नोड एक सामूहिक नोड है जिसमें बच्चों के नोड्स की एक सूची होती है। जब भी समूह नोड प्रदान किया जाता है, तो उसके सभी बच्चे नोड्स क्रम में प्रदान किए जाते हैं। समूह में लागू किसी भी परिवर्तन, प्रभाव राज्य को सभी बाल नोड्स पर लागू किया जाएगा।

    • Region - यह चार्ट, फलक और नियंत्रण जैसे सभी जावाएफएक्स नोड आधारित यूआई नियंत्रणों का आधार वर्ग है।

    • WebView - यह नोड वेब इंजन का प्रबंधन करता है और इसकी सामग्री प्रदर्शित करता है।

  • Leaf Node- चाइल्ड नोड्स के बिना नोड को लीफ नोड के रूप में जाना जाता है। उदाहरण के लिए, आयत, दीर्घवृत्त, बॉक्स, छवि दृश्य, MediaView पत्ती नोड्स के उदाहरण हैं।

दृश्य ग्राफ में रूट नोड को पास करना अनिवार्य है। यदि समूह को रूट के रूप में पास किया जाता है, तो सभी नोड्स को दृश्य में क्लिप किया जाएगा और दृश्य के आकार में कोई भी परिवर्तन दृश्य के लेआउट को प्रभावित नहीं करेगा।

JavaFX एप्लिकेशन बनाना

जावाएफ़एक्स एप्लिकेशन बनाने के लिए, आपको एप्लिकेशन क्लास को तत्काल करना होगा और इसकी सार पद्धति को लागू करना होगा start()। इस पद्धति में, हम JavaFX एप्लिकेशन के लिए कोड लिखेंगे।

आवेदन कक्षा

Application पैकेज की कक्षा javafx.applicationJavaFX में एप्लिकेशन का प्रवेश बिंदु है। JavaFX एप्लिकेशन बनाने के लिए, आपको इस वर्ग को इनहेरिट करना होगा और इसकी सार पद्धति को लागू करना होगाstart()। इस विधि में, आपको JavaFX ग्राफिक्स के लिए पूरा कोड लिखना होगा

में main विधि, आपको एप्लिकेशन का उपयोग करके लॉन्च करना होगा launch()तरीका। यह विधि आंतरिक रूप से कॉल करती हैstart() निम्न कार्यक्रम में दिखाए गए अनुसार आवेदन वर्ग की विधि।

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 - यह सभी जावाएफएक्स नोड-आधारित यूआई नियंत्रणों का आधार वर्ग है, जैसे -

  • Chart - यह क्लास सभी चार्ट की बेस क्लास है और यह पैकेज के अंतर्गत आता है javafx.scene.chart

    इस वर्ग के दो उप वर्ग हैं, जो हैं - PieChart तथा XYChart। बदले में इन दोनों में उपवर्ग जैसे हैंAreaChart, BarChart, BubbleChart, आदि का उपयोग JavaFX में विभिन्न प्रकार के XY-Plane Charts को आकर्षित करने के लिए किया जाता है।

    आप अपने एप्लिकेशन में चार्ट एम्बेड करने के लिए इन कक्षाओं का उपयोग कर सकते हैं।

  • 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 के नोड श्रेणी पदानुक्रम का प्रतिनिधित्व करता है।

दृश्य तैयार करना

एक जावाएफएक्स दृश्य द्वारा दर्शाया गया है Scene पैकेज की कक्षा javafx.scene। आप निम्न कोड ब्लॉक में दिखाए गए अनुसार इस वर्ग को तुरंत बनाकर एक दृश्य बना सकते हैं।

तत्काल करते समय, दृश्य वर्ग के निर्माता के लिए रूट ऑब्जेक्ट को पास करना अनिवार्य है।

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 एप्लिकेशन वर्ग में तीन जीवन चक्र विधियाँ हैं, जो हैं -

  • start() - प्रवेश बिंदु विधि जहां जावाएफएक्स ग्राफिक्स कोड लिखा जाना है।

  • stop() - एक खाली विधि जिसे ओवरराइड किया जा सकता है, यहां आप एप्लिकेशन को रोकने के लिए तर्क लिख सकते हैं।

  • init() - एक खाली विधि जिसे ओवरराइड किया जा सकता है, लेकिन आप इस विधि में मंच या दृश्य नहीं बना सकते।

इनके अतिरिक्त, यह एक स्थिर नाम की विधि प्रदान करता है launch() JavaFX एप्लिकेशन लॉन्च करने के लिए।

के बाद से launch()विधि स्थिर है, आपको इसे स्थिर संदर्भ (मुख्य रूप से) से कॉल करने की आवश्यकता है। जब भी कोई JavaFX एप्लिकेशन लॉन्च किया जाता है, तो निम्नलिखित क्रियाएं (उसी क्रम में) की जाएंगी।

  • एप्लिकेशन वर्ग का एक उदाहरण बनाया जाता है।

  • Init() विधि कहा जाता है।

  • start() विधि कहा जाता है।

  • लॉन्चर एप्लिकेशन के समाप्त होने का इंतजार करता है और कॉल करता है stop() तरीका।

JavaFX एप्लिकेशन को समाप्त करना

जब एप्लिकेशन की अंतिम विंडो बंद हो जाती है, तो JavaFX एप्लिकेशन को अंतर्निहित रूप से समाप्त कर दिया जाता है। आप बूलियन मान "गलत" को स्थैतिक विधि से पास करके इस व्यवहार को बंद कर सकते हैं setImplicitExit() (स्थैतिक संदर्भ से बुलाया जाना चाहिए)।

आप विधियों का उपयोग करके स्पष्ट रूप से JavaFX एप्लिकेशन को समाप्त कर सकते हैं Platform.exit() या System.exit(पूर्णांक)।

उदाहरण 1 - एक खाली विंडो बनाना

यह खंड आपको सिखाता है कि जावाएफएक्स नमूना आवेदन कैसे बनाया जाए जो एक खाली खिड़की प्रदर्शित करता है। निम्नलिखित चरण हैं -

चरण 1: एक कक्षा बनाना

एक जावा वर्ग बनाएँ और विरासत में मिला Application पैकेज की कक्षा javafx.application और इस वर्ग के प्रारंभ () विधि को निम्नानुसार कार्यान्वित कर सकते हैं।

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

चरण 2: एक समूह ऑब्जेक्ट बनाना

में start() विधि समूह नाम के समूह को तत्काल बनाकर एक समूह ऑब्जेक्ट बनाता है, जो पैकेज के अंतर्गत आता है javafx.scene, निम्नलिखित नुसार।

Group root = new Group();

चरण 3: दृश्य वस्तु बनाना

नाम वाली कक्षा को तुरंत लगाकर एक दृश्य बनाएँ Scene जो पैकेज के अंतर्गत आता है javafx.scene। इस वर्ग के लिए, समूह ऑब्जेक्ट पास करें(root), पिछले चरण में बनाया गया है।

रूट ऑब्जेक्ट के अलावा, आप दो डबल पैरामीटर भी पारित कर सकते हैं जो स्क्रीन की ऊंचाई और चौड़ाई का प्रतिनिधित्व करते हैं और साथ ही ग्रुप क्लास के ऑब्जेक्ट निम्नानुसार हैं।

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

चरण 4: स्टेज का शीर्षक सेट करना

आप शीर्षक का उपयोग करके मंच पर सेट कर सकते हैं setTitle() की विधि Stageकक्षा। primaryStage एक स्टेज ऑब्जेक्ट है जो एक पैरामीटर के रूप में, दृश्य वर्ग की शुरुआत विधि को पारित किया जाता है।

का उपयोग करते हुए primaryStage ऑब्जेक्ट, के रूप में दृश्य का शीर्षक सेट करें Sample Application जैसा की नीचे दिखाया गया।

primaryStage.setTitle("Sample Application");

चरण 5: स्टेज में दृश्य जोड़ना

आप विधि का उपयोग करके चरण में एक दृश्य ऑब्जेक्ट जोड़ सकते हैं setScene() नामित वर्ग का Stage। नीचे दिखाए गए अनुसार इस विधि का उपयोग करके पिछले चरणों में तैयार दृश्य वस्तु जोड़ें।

primaryStage.setScene(scene);

चरण 6: चरण की सामग्री प्रदर्शित करना

नामित विधि का उपयोग करके दृश्य की सामग्री प्रदर्शित करें show() का Stage निम्नानुसार वर्ग।

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);     
   }         
}

निम्न कमांड का उपयोग करके कमांड प्रॉम्प्ट से सहेजे गए जावा फ़ाइल को संकलित और निष्पादित करें।

javac JavafxSample.java 
java JavafxSample

निष्पादित करने पर, उपरोक्त कार्यक्रम एक JavaFX विंडो बनाता है जैसा कि नीचे दिखाया गया है।

उदाहरण 2 - एक सीधी रेखा खींचना

पिछले उदाहरण में, हमने देखा है कि एक खाली चरण कैसे बनाया जाता है, अब इस उदाहरण में हम JavaFX लाइब्रेरी का उपयोग करके एक सीधी रेखा खींचने का प्रयास करते हैं।

निम्नलिखित चरण हैं -

चरण 1: एक कक्षा बनाना

एक जावा वर्ग बनाएँ और विरासत में मिला 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: एक समूह ऑब्जेक्ट बनाना

प्रारंभ () विधि में समूह नाम के समूह को तात्कालिक रूप से समूह वस्तु बनाते हैं, जो पैकेज javafx.scene के अंतर्गत आता है।

पिछले चरण में बनाई गई लाइन (नोड) ऑब्जेक्ट, समूह वर्ग के निर्माता के लिए एक पैरामीटर के रूप में, इसे निम्नानुसार समूह में जोड़ने के लिए -

Group root = new Group(line);

चरण 5: दृश्य वस्तु बनाना

नाम वाली कक्षा को तुरंत लगाकर एक दृश्य बनाएँ Scene जो पैकेज के अंतर्गत आता है javafx.scene। इस वर्ग के लिए, समूह ऑब्जेक्ट पास करें(root) जो पिछले चरण में बनाया गया था।

रूट ऑब्जेक्ट के अलावा, आप दो डबल पैरामीटर भी पारित कर सकते हैं जो स्क्रीन की ऊंचाई और चौड़ाई का प्रतिनिधित्व करते हैं और साथ ही ग्रुप क्लास के ऑब्जेक्ट निम्नानुसार हैं।

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

चरण 6: स्टेज का शीर्षक सेट करना

आप शीर्षक का उपयोग करके मंच पर सेट कर सकते हैं setTitle() की विधि Stageकक्षा। primaryStage एक स्टेज ऑब्जेक्ट है जो एक पैरामीटर के रूप में, दृश्य वर्ग की शुरुआत विधि को पारित किया जाता है।

का उपयोग करते हुए primaryStage ऑब्जेक्ट, के रूप में दृश्य का शीर्षक सेट करें Sample Application निम्नलिखित नुसार।

primaryStage.setTitle("Sample Application");

चरण 7: स्टेज में दृश्य जोड़ना

आप विधि का उपयोग करके चरण में एक दृश्य ऑब्जेक्ट जोड़ सकते हैं setScene() नामित वर्ग का Stage। इस विधि का उपयोग करके पिछले चरणों में तैयार दृश्य वस्तु को इस प्रकार जोड़ें।

primaryStage.setScene(scene);

चरण 8: मंच की सामग्री प्रदर्शित करना

नामित विधि का उपयोग करके दृश्य की सामग्री प्रदर्शित करें show() का Stage निम्नानुसार वर्ग।

primaryStage.show();

चरण 9: एप्लिकेशन लॉन्च करना

स्थैतिक विधि को कॉल करके JavaFX एप्लिकेशन को लॉन्च करें launch() का Application मुख्य विधि से वर्ग निम्नानुसार है।

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

उदाहरण

निम्न प्रोग्राम दिखाता है कि जावाएफ़एक्स का उपयोग करके एक सीधी रेखा कैसे उत्पन्न की जाती है। इस कोड को नाम वाली फ़ाइल में सहेजें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); 
   } 
}

निम्न कमांड का उपयोग करके कमांड प्रॉम्प्ट से सहेजे गए जावा फ़ाइल को संकलित और निष्पादित करें।

javac DrawingLine.java 
java DrawingLine

निष्पादित करने पर, उपरोक्त कार्यक्रम एक जावाएफएक्स विंडो उत्पन्न करता है, जो नीचे दिखाई गई एक सीधी रेखा प्रदर्शित करता है।

उदाहरण 3 - पाठ प्रदर्शित करना

हम JavaFX सीन में टेक्स्ट एम्बेड कर सकते हैं। यह उदाहरण दिखाता है कि जावाएफएक्स में टेक्स्ट को कैसे एम्बेड किया जाए।

निम्नलिखित चरण हैं -

चरण 1: एक कक्षा बनाना

एक जावा वर्ग बनाएँ और विरासत में मिला 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: पाठ की स्थिति निर्धारित करना

आप X को सेट करके X Y पर पाठ की स्थिति निर्धारित कर सकते हैं, Y संबंधित सेटर विधियों का उपयोग करके निर्देशांक करता है setX() तथा setY() निम्नलिखित नुसार।

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

चरण 5: जोड़ने के लिए पाठ सेट करना

आप पाठ वर्ग के सेटटैक्स () पद्धति का उपयोग करके जोड़े जाने वाले पाठ को सेट कर सकते हैं। यह विधि जोड़े जाने वाले पाठ का प्रतिनिधित्व करने वाले एक स्ट्रिंग पैरामीटर को स्वीकार करती है।

text.setText("Welcome to Tutorialspoint");

चरण 6: एक समूह ऑब्जेक्ट बनाना

में start() विधि, समूह नामक समूह को तत्काल पैकेज करके समूह ऑब्जेक्ट बनाएं, जो पैकेज से संबंधित है javafx.scene

पिछले चरण में बनाए गए पाठ (नोड) ऑब्जेक्ट, समूह वर्ग के निर्माता के लिए एक पैरामीटर के रूप में, इसे निम्नानुसार समूह में जोड़ने के लिए -

Group root = new Group(text)

चरण 7: एक दृश्य वस्तु बनाना

नाम वाली कक्षा को तुरंत लगाकर एक दृश्य बनाएँ Scene जो पैकेज के अंतर्गत आता है javafx.scene। इस वर्ग के लिए, समूह ऑब्जेक्ट पास करें(root), पिछले चरण में बनाया गया है।

रूट ऑब्जेक्ट के अलावा, आप दो डबल पैरामीटर भी पारित कर सकते हैं जो स्क्रीन की ऊंचाई और चौड़ाई का प्रतिनिधित्व करते हैं और साथ ही ग्रुप क्लास के ऑब्जेक्ट निम्नानुसार हैं।

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

चरण 8: स्टेज का शीर्षक सेट करना

आप शीर्षक का उपयोग करके मंच पर सेट कर सकते हैं setTitle() की विधि Stageकक्षा। primaryStage एक स्टेज ऑब्जेक्ट है जो एक पैरामीटर के रूप में, दृश्य वर्ग की शुरुआत विधि को पारित किया जाता है।

का उपयोग करते हुए primaryStage ऑब्जेक्ट, के रूप में दृश्य का शीर्षक सेट करें Sample Application जैसा की नीचे दिखाया गया।

primaryStage.setTitle("Sample Application");

चरण 9: स्टेज में दृश्य जोड़ना

आप विधि का उपयोग करके चरण में एक दृश्य ऑब्जेक्ट जोड़ सकते हैं setScene() नामित वर्ग का Stage। इस विधि का उपयोग करके पिछले चरणों में तैयार दृश्य वस्तु को इस प्रकार जोड़ें।

primaryStage.setScene(scene);

चरण 10: मंच की सामग्री प्रदर्शित करना

नामित विधि का उपयोग करके दृश्य की सामग्री प्रदर्शित करें show() का Stage निम्नानुसार वर्ग।

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); 
   } 
}

निम्न कमांड का उपयोग करके कमांड प्रॉम्प्ट से सहेजे गए जावा फ़ाइल को संकलित और निष्पादित करें।

javac DisplayingText.java 
java DisplayingText

निष्पादित करने पर, उपरोक्त कार्यक्रम एक जावाएफएक्स विंडो प्रदर्शित करता है जैसा कि नीचे दिखाया गया है।