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);
}
}
}
UI অংশ নির্মাণ করা হচ্ছে
UI উপাদান যেমন বোতাম বা স্লাইডার একে অপরের সঙ্গে সরাসরি যোগাযোগ করা উচিত । প্রতিটি উপাদান যখন কোন ঘটনা ঘটে, তখন মধ্যস্থদের সঙ্গে যোগাযোগ স্থাপন করা উচিত নয় ।
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);
}
}
এই পদ্ধতি অনুসরণ করে আপনি একটি নির্দিষ্ট এলাকা তৈরি করতে পারেন, যা পদ্ধতি পরিচালনা করে জাভাএফএক্স অ্যাপ্লিকেশনের মাধ্যমে সহজ যোগাযোগ ব্যবস্থা।