কম্পিউটার টিউটোরিয়াল

ইভেন্ট হ্যান্ডলিং কী এবং জাভাতে ইভেন্ট হ্যান্ডলিং-এর কম্পোনেন্টগুলি বর্ণনা করুন।


জাভাতে GUI মাউস, কীবোর্ড এবং विवিধ ব্যবহারকারী কন্ট্রোল যেমন বাটন, চেকবক্স, টেক্সট ফিল্ড ইত্যাদির মাধ্যমে ব্যবহারকারীর সাথে ইন্টারঅ্যাকশন প্রসেস করে, যেগুলি ইভেন্ট হিসেবে বিবেচিত হয়। এই ইভেন্টগুলো সঠিকভাবে হ্যান্ডেল করতে হবে জাভাকে ইভেন্ট-চালিত প্রোগ্রামিং- হিসেবে বাস্তবায়ন করার জন্য।

ইভেন্ট হ্যান্ডলিং-এ কম্পোনেন্টসমূহ

  • ইভেন্টসমূহ (Events)
  • ইভেন্ট সোর্স (Event Sources)
  • ইভেন্ট লিসনার/হ্যান্ডলার (Event Listeners/Handlers)

ইভেন্টসমূহ (Events)

  • ইভেন্টগুলি একটি অবজেক্ট হিসেবে সংজ্ঞায়িত হয় যা একটি সোর্স অবজেক্টের অবস্থায় পরিবর্তন বর্ণনা করে।
  • জাভা java.awt.event প্যাকেজের ভিতরে ऐसे অনেক ইভেন্ট ক্লাস সংজ্ঞায়িত করে।
  • কিছু ইভেন্ট হল ActionEvent, MouseEvent, KeyEvent, FocusEvent, ItemEvent ইত্যাদি।

ইভেন্ট সোর্স (Event Sources)

  • একটি সোর্স হল একটি অবজেক্ট যা একটি ইভেন্ট জেনারেট করে।
  • যখন সেই অবজেক্টের অভ্যন্তরীণ অবস্থা কোনোভাবে পরিবর্তিত হয়, তখন ইভেন্ট জেনারেশন ঘটে।
  • একটি সোর্স অবশ্যই লিসনার রেজিস্টার করতে হবে যাতে লিসনাররা নির্দিষ্ট ধরনের ইভেন্টের বিজ্ঞপ্তি পান।
  • কিছু ইভেন্ট সোর্স হল Button, CheckBox, List, Choice, Window ইত্যাদি।

ইভেন্ট লিসনার (Event Listeners)

  • একটি লিসনার হল একটি অবজেক্ট যা যখন একটি ইভেন্ট ঘটে তখন বিজ্ঞপ্তি পায়।
  • একটি লিসনারের দুটি প্রধান প্রয়োজনীয়তা রয়েছে: এটি এক বা একাধিক সোর্স অবজেক্টের সাথে রেজিস্টার্ড থাকতে হবে ইভেন্ট বিজ্ঞপ্তি গ্রহণের জন্য এবং এটি তাদের বিজ্ঞপ্তি গ্রহণ ও প্রসেস করার জন্য মেথড বাস্তবায়ন করতে হবে।
  • জাভা java.awt.event প্যাকেজের অধীনে ইভেন্ট গ্রহণ ও প্রসেস করার জন্য ইন্টারফেসের একটি সেট সংজ্ঞায়িত করেছে।
  • কিছু লিসনার হল ActionListener, MouseListener, ItemListener, KeyListener, WindowListener ইত্যাদি।

উদাহরণ

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
public class EventListenerTest extends JFrame implements ActionListener { 
    JButton button; 
    public static void main(String args[]) { 
        EventListenerTest object = new EventListenerTest(); 
        object.createGUI(); 
    } 
    void createGUI() { 
        button = new JButton(" Click Me !"); 
        setSize(300,200); 
        setLocationRelativeTo(null); 
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
        setVisible(true); 
        add(button); 
        button.addActionListener(this); 
    } 
    public void actionPerformed(ActionEvent ae) { 
        if(ae.getSource() == button) { 
            JOptionPane.showMessageDialog(null, "Generates an Action Event"); 
        } 
    } 
}

আউটপুট

ইভেন্ট হ্যান্ডলিং কী এবং জাভাতে ইভেন্ট হ্যান্ডলিং-এর কম্পোনেন্টগুলি বর্ণনা করুন।

  1. জাভাতে JTextField এবং JTextArea-এর পার্থক্য কী?

  2. জাভাতে JFrame এবং JDialog-এর পার্থক্য কী?

  3. JRE এবং JDK-এর পার্থক্য

  4. জাভা এবং জাভাস্ক্রিপ্টের মধ্যে পার্থক্য কী?