AWT (Abstract Window Toolkit) এ Timer ক্লাস ব্যবহার করে নির্দিষ্ট সময় পর পর কোনো কার্য সম্পাদন করা যায়। এটি সাধারণত গেম ডেভেলপমেন্ট, অ্যানিমেশন, বা নির্দিষ্ট সময় পর পর কোনো কাজ করার জন্য ব্যবহৃত হয়।
AWT-এ Timer ক্লাস মূলত দুটি প্রধান উপাদান দিয়ে কাজ করে:
- Timer: এটি একটি থ্রেড তৈরি করে এবং নির্দিষ্ট সময় পর পর কিছু কার্য সম্পাদন করতে পারে।
- TimerTask: এটি
Runnableইন্টারফেস ইমপ্লিমেন্ট করে, যার মধ্যে সেই কোড থাকে যেটি Timer এক্সিকিউট করবে।
AWT Timer ক্লাস এর ব্যবহার
- Timer একটি নির্দিষ্ট সময় পর পর
TimerTaskচালায়। - এটি নির্দিষ্ট সময়ের মধ্যে নির্দিষ্ট অ্যাকশন সম্পাদন করতে সাহায্য করে।
প্রধান মেথডসমূহ:
start(): Timer শুরু করে।stop(): Timer বন্ধ করে।schedule(TimerTask task, long delay): একটি Task নির্দিষ্ট বিলম্বের পর চালাতে পারে।scheduleAtFixedRate(TimerTask task, long delay, long period): একটি Task নির্দিষ্ট সময় পর পর একাধিকবার চালাতে পারে।
এডাব্লিউটি Timer উদাহরণ:
এখানে একটি উদাহরণ দেওয়া হলো যেখানে একটি Timer নির্দিষ্ট সময় পর পর একটি বার্তা কনসোলে প্রিন্ট করবে।
import java.awt.*;
import java.awt.event.*;
import java.util.Timer;
import java.util.TimerTask;
public class TimerExample {
public static void main(String[] args) {
Frame frame = new Frame("AWT Timer Example");
// Create a label to show the timer message
Label label = new Label("Timer Not Started");
label.setBounds(50, 50, 200, 30);
// Create a Timer object
Timer timer = new Timer();
// Create a TimerTask to be executed at fixed rate
TimerTask task = new TimerTask() {
int count = 0;
@Override
public void run() {
count++;
label.setText("Timer Count: " + count);
System.out.println("Timer Count: " + count);
if (count == 5) {
timer.cancel(); // Stop the timer after 5 counts
label.setText("Timer Stopped");
}
}
};
// Schedule the task to run every 1 second (1000 ms)
timer.scheduleAtFixedRate(task, 0, 1000);
// Set up the frame and add the label
frame.add(label);
frame.setSize(300, 150);
frame.setLayout(null);
frame.setVisible(true);
}
}
ব্যাখ্যা:
- Timer এবং TimerTask ব্যবহার করা হয়েছে টাইমার তৈরি করার জন্য।
scheduleAtFixedRate()মেথডের মাধ্যমে টাইমারটি প্রতি এক সেকেন্ড পর পরtaskরান করবে।countনামক একটি কনট্রোল ভেরিয়েবল দিয়ে আমরা টাইমারের কতবার কার্য সম্পাদিত হয়েছে তা ট্র্যাক করছি। ৫ বার হওয়ার পর টাইমারটিcancel()মেথড দিয়ে বন্ধ হয়ে যাবে।
Timer ক্লাস এবং AWT
AWT Timer ক্লাস সাধারণত নির্দিষ্ট সময়ে UI উপাদান বা অন্য কোনো কার্য সম্পাদন করতে সাহায্য করে। তবে AWT এ এটি UI থ্রেডের সাথে কাজ করে না, তাই UI উপাদান পরিবর্তন করতে হলে EventQueue.invokeLater() ব্যবহার করতে হতে পারে।
উল্লেখযোগ্য বিষয়:
- AWT Timer মূলত GUI অ্যাপ্লিকেশনগুলোর জন্য সরাসরি টিমিং মেকানিজম সরবরাহ করে, তবে গতি বা নির্ভুলতার জন্য অন্যান্য লাইব্রেরি যেমন
javax.swing.Timerবেশি ব্যবহার করা হয়।
Content added By
Read more