javafx.scene.shape पैकेज विभिन्न 2D आकृतियाँ बनाने के लिए क्लासेज प्रदान करता है, लेकिन ये केवल प्राथमिक आकृतियाँ हैं जैसे रेखा, वृत्त, बहुभुज, और दीर्घवृत्त आदि। इसलिए, यदि आप जटिल कस्टम आकृतियाँ बनाना चाहते हैं तो आपको Path क्लास का उपयोग करना होगा।
Path क्लास
Path क्लास एक आकृति की ज्यामितीय रूपरेखा को दर्शाता है, इस क्लास का उपयोग करके आप अपना कस्टम पथ बना सकते हैं।
कस्टम पथ बनाने के लिए JavaFX विभिन्न पथ तत्व प्रदान करता है और ये सभी javafx.scene.shape पैकेज में क्लासेज के रूप में उपलब्ध हैं।
मुख्य पथ तत्व
LineTo - पथ तत्व रेखा को दर्शाता है। यह वर्तमान निर्देशांक से निर्दिष्ट निर्देशांक तक एक सीधी रेखा खींचने में मदद करता है।
HLineTo - पथ तत्व क्षैतिज रेखा को दर्शाता है। यह वर्तमान निर्देशांक से निर्दिष्ट निर्देशांक तक एक क्षैतिज रेखा खींचने में मदद करता है।
VLineTo - पथ तत्व ऊर्ध्वाधर रेखा को दर्शाता है। यह वर्तमान निर्देशांक से निर्दिष्ट निर्देशांक तक एक ऊर्ध्वाधर रेखा खींचने में मदद करता है।
QuadCurveTo - पथ तत्व द्विघात वक्र को दर्शाता है। यह वर्तमान निर्देशांक से निर्दिष्ट निर्देशांक तक एक द्विघात वक्र खींचने में मदद करता है।
CubicCurveTo - पथ तत्व त्रिघात वक्र को दर्शाता है। यह वर्तमान निर्देशांक से निर्दिष्ट निर्देशांक तक एक त्रिघात वक्र खींचने में मदद करता है।
ArcTo - पथ तत्व चाप (arc) को दर्शाता है। यह वर्तमान निर्देशांक से निर्दिष्ट निर्देशांक तक एक चाप खींचने में मदद करता है।
MoveTo - इस क्लास का उपयोग करके आप पथ को वर्तमान निर्देशांक से नए निर्देशांक पर ले जा सकते हैं।
पथ तत्वों का उपयोग करके पथ बनाना
Path क्लास में एक ऑब्जर्वेबल लिस्ट होती है जो वर्तमान पथ के पथ तत्वों को रखती है। इसलिए पथ बनाने के लिए -
आवश्यक PathElement क्लासेज को इंस्टेंटिएट करें।
सेटर मेथड्स का उपयोग करके या उन्हें कंस्ट्रक्टर में आर्गुमेंट्स के रूप में पास करके प्रत्येक पथ के गुण सेट करें।
Path क्लास को इंस्टेंटिएट करें।
उपरोक्त निर्मित Path के ऑब्जर्वेबल लिस्ट ऑब्जेक्ट को getElements() मेथड का उपयोग करके प्राप्त करें।
वांछित क्रम में सभी पथ तत्व ऑब्जेक्ट्स को add() या addAll() मेथड्स का उपयोग करके ऑब्जर्वेबल लिस्ट में जोड़ें।
अंत में, पथ को Group ऑब्जेक्ट में जोड़ें।
नोट - आप पथ तत्वों को Path क्लास के कंस्ट्रक्टर में भी पास कर सकते हैं।
उदाहरण
निम्नलिखित JavaFX उदाहरण LineTo पथ तत्व का उपयोग करके एक पथ बनाता है -
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.scene.shape.LineTo;
import javafx.scene.shape.MoveTo;
import javafx.scene.shape.Path;
public class PathElementsExample extends Application {
@Override
public void start(Stage stage) {
// आकृति बनाना
MoveTo moveTo = new MoveTo(208, 71);
LineTo line1 = new LineTo(421, 161);
LineTo line2 = new LineTo(226, 232);
LineTo line3 = new LineTo(332, 52);
LineTo line4 = new LineTo(369, 250);
LineTo line5 = new LineTo(208, 71);
// एक Path बनाना
Path path = new Path(moveTo, line1, line2, line3, line4, line5);
path.setFill(Color.DARKCYAN);
path.setStrokeWidth(8.0);
path.setStroke(Color.DARKSLATEGREY);
// Stage ऑब्जेक्ट तैयार करना
Group root = new Group(path);
Scene scene = new Scene(root, 595, 300, Color.BEIGE);
stage.setTitle("पथ के माध्यम से चाप बनाना");
stage.setScene(scene);
stage.show();
}
public static void main(String args[]) {
launch(args);
}
}
आउटपुट
