AWT (Abstract Window Toolkit) এর Mouse Event Handling এর জন্য দুটি গুরুত্বপূর্ণ ইন্টারফেস ব্যবহৃত হয়:
- MouseListener
- MouseMotionListener
1. MouseListener
এই ইন্টারফেসটি মাউসের ক্লিক, প্রেস, রিলিজ, এন্টার এবং এক্সিট ইভেন্টগুলোর জন্য ব্যবহৃত হয়।
Methods:
void mouseClicked(MouseEvent e): মাউস ক্লিক করার ইভেন্ট হ্যান্ডল করতে।void mousePressed(MouseEvent e): মাউস বোতাম প্রেস করার ইভেন্ট হ্যান্ডল করতে।void mouseReleased(MouseEvent e): মাউস বোতাম ছাড়ার ইভেন্ট হ্যান্ডল করতে।void mouseEntered(MouseEvent e): মাউস কার্সর যখন কম্পোনেন্টের ভেতরে প্রবেশ করে।void mouseExited(MouseEvent e): মাউস কার্সর যখন কম্পোনেন্টের বাইরে চলে যায়।
2. MouseMotionListener
এই ইন্টারফেসটি মাউসের মুভমেন্ট বা ড্র্যাগ করার ইভেন্ট হ্যান্ডল করতে ব্যবহৃত হয়।
Methods:
void mouseDragged(MouseEvent e): মাউস ড্র্যাগ করার ইভেন্ট হ্যান্ডল করতে।void mouseMoved(MouseEvent e): মাউস মুভ করার ইভেন্ট হ্যান্ডল করতে।
উদাহরণ কোড:
import java.awt.*;
import java.awt.event.*;
public class MouseEventExample extends Frame implements MouseListener, MouseMotionListener {
Label label;
public MouseEventExample() {
// Frame setup
addMouseListener(this);
addMouseMotionListener(this);
label = new Label();
label.setBounds(20, 50, 300, 20);
add(label);
setSize(400, 400);
setLayout(null);
setVisible(true);
}
// MouseListener methods
public void mouseClicked(MouseEvent e) {
label.setText("Mouse Clicked at X: " + e.getX() + ", Y: " + e.getY());
}
public void mouseEntered(MouseEvent e) {
label.setText("Mouse Entered the Frame!");
}
public void mouseExited(MouseEvent e) {
label.setText("Mouse Exited the Frame!");
}
public void mousePressed(MouseEvent e) {
label.setText("Mouse Pressed");
}
public void mouseReleased(MouseEvent e) {
label.setText("Mouse Released");
}
// MouseMotionListener methods
public void mouseDragged(MouseEvent e) {
label.setText("Mouse Dragged to X: " + e.getX() + ", Y: " + e.getY());
}
public void mouseMoved(MouseEvent e) {
label.setText("Mouse Moved to X: " + e.getX() + ", Y: " + e.getY());
}
public static void main(String[] args) {
new MouseEventExample();
}
}
কোডের কার্যপ্রণালী:
- MouseListener এবং MouseMotionListener ইন্টারফেস দুটি ইমপ্লিমেন্ট করা হয়েছে।
- Label ব্যবহার করে মাউস ইভেন্টের মেসেজ দেখানো হয়েছে।
- ইন্টারফেসের প্রত্যেকটি মেথড ওভাররাইড করে মাউস ইভেন্ট হ্যান্ডল করা হয়েছে।
- রান করলে, ফ্রেমে ক্লিক, মুভ, ড্র্যাগ ইত্যাদি ইভেন্টগুলো দেখানো হবে।
ফলাফল:
উপরের কোডটি রান করলে মাউসের প্রতিটি ইভেন্টের জন্য আলাদা মেসেজ ফ্রেমে দেখা যাবে।
Content added By
Read more