Table of Contents
एक मॉड्यूलर घटना हैंडलिंग प्रणाली को डिजाइन करना रखरखाव योग्य और स्केलेबल जावाएफएक्स अनुप्रयोगों के निर्माण के लिए आवश्यक है। मीडियाटर पैटर्न घटकों को अलग करने और उनके बीच संचार को सुव्यवस्थित करने का एक प्रभावी तरीका प्रदान करता है। यह लेख जावाएफएक्स में मीडियाटर पैटर्न का उपयोग करके मॉड्यूलर इवेंट हैंडलिंग सिस्टम को कैसे कार्यान्वित किया जाए, इसकी पड़ताल करता है।
मीडियाटर पैटर्न को समझना
मध्यस्थ पैटर्न एक व्यवहारिक डिजाइन पैटर्न है जो यह सुनिश्चित करके ढीले युग्मन को बढ़ावा देता है कि घटक एक दूसरे के साथ सीधे केंद्रीय मध्यस्थ के माध्यम से संवाद करते हैं। जावाएफएक्स में, यह पैटर्न यूआई घटकों के बीच जटिल बातचीत का प्रबंधन करने में मदद करता है, जिससे कोड को बनाए रखने और विस्तार करने में आसान बना दिया जाता है।
मीडियाटर इंटरफ़ेस को डिजाइन करना
एक मध्यस्थ इंटरफ़ेस को परिभाषित करके शुरू करें जो घटकों और हैंडलिंग घटनाओं को पंजीकृत करने के तरीकों की घोषणा करता है। यह इंटरफ़ेस मध्यस्थ के व्यवहार के लिए अनुबंध के रूप में कार्य करता है।
public interface EventMediator {
void registerComponent(String name, UIComponent component);
void handleEvent(String eventType, String sourceComponent);
}
मीडियाटर को कार्यान्वित करना
कंक्रीट मध्यस्थ पंजीकृत घटकों का प्रबंधन करता है और घटना हैंडलिंग को समन्वित करता है। यह घटकों का एक नक्शा बनाए रखता है और विभिन्न घटनाओं का जवाब कैसे देता है।
public class ConcreteEventMediator implements EventMediator {
private Map<String, UIComponent> components = new HashMap<>();
@Override
public void registerComponent(String name, UIComponent component) {
components.put(name, component);
}
@Override
public void handleEvent(String eventType, String sourceComponent) {
// Example: handle button click
if ("buttonClick".equals(eventType)) {
UIComponent component = components.get(sourceComponent);
// Perform actions based on the source component
System.out.println(sourceComponent + " triggered a " + eventType);
}
}
}
यूआई घटक बनाना
बटन या स्लाइडर जैसे यूआई घटक सीधे एक दूसरे के साथ मध्यस्थ के साथ संवाद करना चाहिए। प्रत्येक घटक एक घटना होने पर मध्यस्थ को सूचित करता है।
public interface UIComponent {
void setMediator(EventMediator mediator);
void triggerEvent(String eventType);
}
public class ButtonComponent implements UIComponent {
private EventMediator mediator;
private String name;
public ButtonComponent(String name) {
this.name = name;
}
@Override
public void setMediator(EventMediator mediator) {
this.mediator = mediator;
}
@Override
public void triggerEvent(String eventType) {
mediator.handleEvent(eventType, name);
}
}
जावाएफएक्स में घटक और मीडियाटर को एकीकृत करना
अपने जावाएफएक्स एप्लिकेशन में, मध्यस्थ और घटकों को तत्कालीन करें, मध्यस्थ के साथ घटकों को पंजीकृत करें, और मध्यस्थ अधिसूचनाओं को ट्रिगर करने के लिए इवेंट हैंडलर को सेट करें।
public class MainApp extends Application {
@Override
public void start(Stage primaryStage) {
ConcreteEventMediator mediator = new ConcreteEventMediator();
ButtonComponent button1 = new ButtonComponent("Button1");
ButtonComponent button2 = new ButtonComponent("Button2");
button1.setMediator(mediator);
button2.setMediator(mediator);
mediator.registerComponent("Button1", button1);
mediator.registerComponent("Button2", button2);
Button javafxButton1 = new Button("Button 1");
javafxButton1.setOnAction(e -> button1.triggerEvent("buttonClick"));
Button javafxButton2 = new Button("Button 2");
javafxButton2.setOnAction(e -> button2.triggerEvent("buttonClick"));
VBox vbox = new VBox(10, javafxButton1, javafxButton2);
Scene scene = new Scene(vbox, 300, 200);
primaryStage.setScene(scene);
primaryStage.setTitle("Mediator Pattern in JavaFX");
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
इस दृष्टिकोण का पालन करके, आप एक मॉड्यूलर, स्केलेबल इवेंट हैंडलिंग सिस्टम बनाते हैं जो मीडियार पैटर्न का उपयोग करके जावाएफएक्स अनुप्रयोगों में घटक इंटरैक्शन को सरल बनाता है।