কম্পিউটার

কেন AWT উপাদানগুলি ভারী-ওজন এবং সুইং উপাদানগুলি জাভাতে হালকা ওজনের?


  • AWT Abstract Window ToolKit এর অর্থ হল এবং এটি জাভা GUI প্রোগ্রামিং সমর্থন করে। এটি স্ট্যান্ড-অ্যালোন জাভা অ্যাপ্লিকেশন/অ্যাপ্লেটের জন্য একটি পোর্টেবল GUI লাইব্রেরি। জাভা সুইং করার সময় AWT আমাদের অ্যাপ্লিকেশন এবং নেটিভ GUI এর মধ্যে সংযোগ প্রদান করে GUI উপাদানগুলির একটি সেট প্রয়োগ করে যা AWT প্রযুক্তির উপর তৈরি করে এবং এটি একটি প্লাগযোগ্য চেহারা এবং অনুভূতি প্রদান করতে পারে . জাভা সুইং সম্পূর্ণরূপে জাভা প্রোগ্রামিং ভাষায় প্রয়োগ করা হয়।
  • প্রথমত, একটি ভারী-ওজন দ্বারা, এর অর্থ কোডটি লোড হতে তুলনামূলকভাবে বেশি সময় নেবে এবং এটি আরও বেশি সিস্টেম সংস্থান গ্রহণ করবে। AWT কে ভারী-ওজন হিসাবে বিবেচনা করা হয় কারণ এর উপাদানগুলি অন্তর্নিহিত অপারেটিং সিস্টেমের উপর নির্ভরশীল। উদাহরণস্বরূপ, যখন আমরা java.awt.Checkbox এর একটি বস্তু তৈরি করি ক্লাস, এর অন্তর্নিহিত অপারেটিং সিস্টেম আমাদের জন্য একটি চেকবক্স তৈরি করবে। এটিও কারণ, AWT উপাদানগুলি প্ল্যাটফর্ম নির্ভর।
  • অন্যদিকে, বেশিরভাগ জাভা সুইং উপাদানগুলি জাভাতেই প্রয়োগ করা হয়। উইন্ডোজের মতো শীর্ষ স্তরের কিছু উপাদান অপারেটিং সিস্টেমের উপর নির্ভরশীল। কিন্তু তবুও, সামগ্রিক প্রোগ্রাম তুলনামূলকভাবে AWT-এর তুলনায় হালকা।
  • জাভা সুইং AWT -এর উন্নত এবং অপ্টিমাইজ করা সংস্করণ এবং এটি AWT এর উপরে নির্মিত। এখনও, অনেক AWT ক্লাস সুইং-এ প্রত্যক্ষ বা পরোক্ষভাবে ব্যবহৃত হয়। জাভা সুইং এ এগিয়ে যাওয়ার আগে AWT এর মূল বিষয়গুলি করা গুরুত্বপূর্ণ। অন্যথায়, আমরা জাভাতে GUI থাকাকালীন বেশ কয়েকটি নিয়ন্ত্রণ প্রতিনিধিদের অন্তর্নিহিত তথ্য বুঝতে পারি না।

উদাহরণ

import javax.swing.SwingUtilities;
import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class Test {
   public static void main(String[] args) {
      ApplicationWindow window = new ApplicationWindow();
      window.setVisible(true);
   }
}
class ApplicationWindow extends JFrame {
   public ApplicationWindow() {
      this.setSize(200, 100);
      this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      this.setLayout(new FlowLayout());
      Button exitButton = new Button("Exit");
      exitButton.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent event) {
            System.exit(0);
         }
      });
      this.add(exitButton);
      JMenuBar menuBar = new JMenuBar();
      JMenu menu = new JMenu("Overlapping Menu");
      JMenuItem menuItem = new JMenuItem("Overlapping Item");
      menu.add(menuItem);
      menuBar.add(menu);
      this.setJMenuBar(menuBar);
      this.validate();
   }
}

আউটপুট

কেন AWT উপাদানগুলি ভারী-ওজন এবং সুইং উপাদানগুলি জাভাতে হালকা ওজনের?


  1. জাভাতে উপাদানগুলি সুইং করার জন্য কীভাবে একটি ভিন্ন চেহারা এবং অনুভূতি সেট করবেন?

  2. জাভাতে একটি লেআউট ম্যানেজার এবং লেআউট ম্যানেজারের প্রকারগুলি কী?

  3. জাভাতে জাভা সুইং এর আর্কিটেকচার ব্যাখ্যা কর?

  4. জাভাতে কি সুইং থ্রেড-নিরাপদ?