JavaFX - पाठ

विभिन्न आकृतियों की तरह, आप JavaFX में एक टेक्स्ट नोड भी बना सकते हैं। पाठ नोड नाम के वर्ग द्वारा दर्शाया गया हैText, जो पैकेज के अंतर्गत आता है javafx.scene.text

इस वर्ग में JavaFX में टेक्स्ट बनाने और उसकी उपस्थिति को संशोधित करने के लिए कई गुण हैं। यह वर्ग शेप वर्ग को भी विरासत में मिला है जो पैकेज के अंतर्गत आता हैjavafx.scene.shape

इसलिए, पाठ के गुणों जैसे कि फ़ॉन्ट, संरेखण, लाइन रिक्ति, पाठ आदि के अलावा, यह मूल आकार नोड जैसे कि इनहेरिट करता है strokeFill, stroke, strokeWidth, strokeType, आदि।

एक पाठ नोड बनाना

पैकेज के वर्ग पाठ के बाद से javafx.scene.text JavaFX में टेक्स्ट नोड का प्रतिनिधित्व करता है, आप निम्नानुसार इस वर्ग को तत्काल बनाकर एक टेक्स्ट बना सकते हैं -

Text text = new Text();

क्लास टेक्स्ट में एक संपत्ति होती है जिसका नाम है text स्ट्रिंग प्रकार, जो कि बनाए जाने वाले पाठ का प्रतिनिधित्व करता है।

पाठ वर्ग को तत्काल करने के बाद, आपको इस गुण का उपयोग करके मान सेट करना होगा setText() नीचे दिखाए अनुसार विधि।

String text = "Hello how are you" 
Text.setText(text);

आप अपने संबंधित सेटर विधियों जैसे गुण x और y के मान निर्दिष्ट करके पाठ की स्थिति (उत्पत्ति) भी सेट कर सकते हैं setX() तथा setY() जैसा कि निम्नलिखित कोड ब्लॉक में दिखाया गया है -

text.setX(50); 
text.setY(50);

उदाहरण

निम्न प्रोग्राम एक उदाहरण है जो दर्शाता है कि JavaFX में टेक्स्ट नोड कैसे बनाया जाता है। इस कोड को नाम वाली फ़ाइल में सहेजेंTextExample.java

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene;
import javafx.stage.Stage; 
import javafx.scene.text.Text; 
         
public class TextExample extends Application { 
   @Override 
   public void start(Stage stage) {       
      //Creating a Text object 
      Text text = new Text();      
      
      //Setting the text to be added. 
      text.setText("Hello how are you"); 
       
      //setting the position of the text 
      text.setX(50); 
      text.setY(50); 
         
      //Creating a Group object  
      Group root = new Group(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 TextExample.java 
java TextExample

निष्पादित करने पर, उपरोक्त कार्यक्रम एक जावाएफएक्स विंडो बनाता है जो निर्दिष्ट पाठ को निम्नानुसार प्रदर्शित करता है -

पाठ की स्थिति और फ़ॉन्ट

डिफ़ॉल्ट रूप से, टेक्स्ट क्लास द्वारा बनाया गया टेक्स्ट फ़ॉन्ट ..., आकार ... और काले रंग का होता है।

आप टेक्स्ट का उपयोग करके फ़ॉन्ट का आकार और रंग बदल सकते हैं setFont()तरीका। यह विधि किसी वस्तु को स्वीकार करती हैFont कक्षा।

नाम का वर्ग Font पैकेज का javafx.scene.textपाठ के लिए फ़ॉन्ट को परिभाषित करने के लिए उपयोग किया जाता है। इस वर्ग में एक स्थिर नाम की विधि हैfont()

यह विधि चार मापदंडों को स्वीकार करती है -

  • family - यह एक स्ट्रिंग प्रकार का है और उस फ़ॉन्ट के परिवार का प्रतिनिधित्व करता है जिसे हम पाठ पर लागू करना चाहते हैं।

  • weight- यह संपत्ति फ़ॉन्ट के वजन का प्रतिनिधित्व करती है। यह 9 मानों को स्वीकार करता है, जो हैं -FontWeight.BLACK, FontWeight.BOLD, FontWeight.EXTRA_BOLD, FontWeight.EXTRA_LIGHT, LIGHT, MEDIUM, NORMAL, SEMI_BOLD, THIN

  • posture- यह संपत्ति फ़ॉन्ट मुद्रा (नियमित या इटैलिक) का प्रतिनिधित्व करती है। यह दो मूल्यों को स्वीकार करता हैFontPosture.REGULAR तथा FontPosture.ITALIC

  • size - यह संपत्ति टाइप डबल की है और यह फ़ॉन्ट के आकार का प्रतिनिधित्व करती है।

आप निम्न विधि का उपयोग करके पाठ को फ़ॉन्ट सेट कर सकते हैं -

text.setFont(Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 20));

उदाहरण

निम्नलिखित प्रोग्राम जावाएफएक्स में टेक्स्ट नोड के फ़ॉन्ट को सेट करने के तरीके को प्रदर्शित करने वाला एक उदाहरण है। यहां, हम वर्दाना के लिए फ़ॉन्ट सेट कर रहे हैं, वजन बोल्ड करने के लिए, नियमित रूप से आसन और आकार 20 तक।

इस कोड को नाम वाली फ़ाइल में सहेजें TextFontExample.java

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.stage.Stage; 
import javafx.scene.text.Font; 
import javafx.scene.text.FontPosture; 
import javafx.scene.text.FontWeight; 
import javafx.scene.text.Text; 
         
public class TextFontExample extends Application { 
   @Override 
   public void start(Stage stage) {       
      //Creating a Text object 
      Text text = new Text(); 
        
      //Setting font to the text 
      text.setFont(Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 20)); 
       
      //setting the position of the text
      text.setX(50); 
      text.setY(130);          
      
      //Setting the text to be added. 
      text.setText("Hi how are you"); 
         
      //Creating a Group object  
      Group root = new Group(text);   
               
      //Creating a scene object 
      Scene scene = new Scene(root, 600, 300);  
      
      //Setting title to the Stage 
      stage.setTitle("Setting Font to the text"); 
         
      //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 TextFontExample.java 
java TextFontExample

निष्पादित करने पर, उपरोक्त कार्यक्रम एक जावाएफएक्स विंडो उत्पन्न करता है जो पाठ को निर्दिष्ट फ़ॉन्ट के साथ निम्नानुसार प्रदर्शित करता है -

स्ट्रोक और रंग

पाठ वर्ग भी पैकेज के वर्ग आकार विरासत में मिला है। इसलिए, आप उपयोग कर सकते हैंjavafx.scene.shape जिसके साथ आप टेक्स्ट नोड पर भी स्ट्रोक और रंग सेट कर सकते हैं।

आप पाठ का उपयोग करके रंग सेट कर सकते हैं setFill() आकार की विधि (विरासत में मिली) वर्ग निम्नानुसार है -

text.setFill(Color.BEIGE);

इसी तरह, आप विधि का उपयोग करके पाठ का स्ट्रोक रंग सेट कर सकते हैं setStroke()। जबकि विधि का उपयोग करके स्ट्रोक की चौड़ाई निर्धारित की जा सकती हैsetStrokeWidth() निम्नानुसार है -

//Setting the color 
text.setFill(Color.BROWN); 
        
//Setting the Stroke  
text.setStrokeWidth(2); 
       
//Setting the stroke color 
text.setStroke(Color.BLUE);

उदाहरण

निम्न प्रोग्राम एक उदाहरण है जो प्रदर्शित करता है कि टेक्स्ट नोड का रंग, स्ट्रोकवार्ड और स्ट्रोककोलर कैसे सेट किया जाए। इस कोड में, हम स्ट्रोक का रंग - नीला, पाठ का रंग - भूरा और स्ट्रोक की चौड़ाई - 2 कर रहे हैं।

इस कोड को नाम वाली फ़ाइल में सहेजें StrokeExample.java

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.scene.paint.Color; 
import javafx.stage.Stage; 
import javafx.scene.text.Font; 
import javafx.scene.text.FontPosture; 
import javafx.scene.text.FontWeight; 
import javafx.scene.text.Text; 
         
public class StrokeExample extends Application { 
   @Override 
   public void start(Stage stage) {       
      //Creating a Text object 
      Text text = new Text(); 
       
      //Setting font to the text 
      text.setFont(Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 50)); 
       
      //setting the position of the text  
      text.setX(50); 
      text.setY(130);     
       
      //Setting the color 
      text.setFill(Color.BROWN); 
       
      //Setting the Stroke  
      text.setStrokeWidth(2); 
      
      // Setting the stroke color
      text.setStroke(Color.BLUE);        
      
      //Setting the text to be added. 
      text.setText("Hi how are you"); 
         
      //Creating a Group object  
      Group root = new Group(text);   
               
      //Creating a scene object 
      Scene scene = new Scene(root, 600, 300);  
      
      //Setting title to the Stage 
      stage.setTitle("Setting font to the text"); 
         
      //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 StrokeExample.java 
java StrokeExample

निष्पादित करने पर, उपरोक्त कार्यक्रम एक जावाएफ़एक्स खिड़की उत्पन्न करता है जो पाठ को निर्दिष्ट स्ट्रोक और रंग विशेषताओं के साथ प्रदर्शित करता है -

पाठ के लिए सजावट लागू करना

आप सजावट भी लागू कर सकते हैं जैसे कि हड़ताल के माध्यम से; जिस स्थिति में पाठ के माध्यम से एक रेखा पार की जाती है। के तरीकों का उपयोग करके आप एक पाठ को रेखांकित कर सकते हैंText कक्षा।

आप विधि का उपयोग करके पाठ के माध्यम से हड़ताल कर सकते हैं setStrikethrough()। यह बूलियन मान को स्वीकार करता है, मान पास करता हैtrue इस विधि को पाठ के माध्यम से हड़ताल करने के लिए जैसा कि निम्नलिखित कोड बॉक्स में दिखाया गया है -

//Striking through the text 
text1.setStrikethrough(true);

उसी तरह, आप किसी पाठ को मान पास करके रेखांकित कर सकते हैं true विधि के लिए setUnderLine() निम्नानुसार है -

//underlining the text     
text2.setUnderline(true);

उदाहरण

निम्नलिखित कार्यक्रम एक उदाहरण है जो यह दर्शाता है कि सजावट कैसे लागू करें underline या strike throughएक पाठ के लिए। इस कोड को नाम वाली फ़ाइल में सहेजेंDecorationsExample.java

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.stage.Stage; 
import javafx.scene.text.Font; 
import javafx.scene.text.FontPosture;
import javafx.scene.text.FontWeight; 
import javafx.scene.text.Text; 
         
public class DecorationsExample extends Application { 
   @Override 
   public void start(Stage stage) {       
      //Creating a Text_Example object 
      Text text1 = new Text("Hi how are you");       
      
      //Setting font to the text 
      text1.setFont(Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 20));
      
      //setting the position of the text 
      text1.setX(50); 
      text1.setY(75);     
      
      //Striking through the text 
      text1.setStrikethrough(true); 
       
      //Creating a Text_Example object  
      Text text2 = new Text("Welcome to Tutorialspoint");     
      
      //Setting font to the text 
      text2.setFont(Font.font("verdana", FontWeight.BOLD, FontPosture.REGULAR, 20));
      
      //setting the position of the text 
      text2.setX(50); 
      text2.setY(150);      
      
      //underlining the text     
      text2.setUnderline(true);  
         
      //Creating a Group object  
      Group root = new Group(text1, text2);   
               
      //Creating a scene object
      Scene scene = new Scene(root, 600, 300);  
      
      //Setting title to the Stage 
      stage.setTitle("Decorations Example"); 
         
      //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 DecorationsExample.java 
java DecorationsExample

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