কম্পিউটার

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


লেআউট ম্যানেজাররা কন্টেইনারের মধ্যে উপাদানগুলির আকার এবং অবস্থান নির্ধারণ করে GUI ফর্মগুলিতে ভিজ্যুয়াল উপাদানগুলি কীভাবে সাজানো হয় তা নিয়ন্ত্রণ করতে আমাদের সক্ষম করে৷

লেআউট ম্যানেজারের প্রকারগুলি

জাভাতে 6 লেআউট ম্যানেজার আছে

  • ফ্লোলেআউট :এটি একটি পৃষ্ঠার শব্দের মতো একটি পাত্রে উপাদানগুলিকে সাজায়৷ এটি বাম থেকে ডান এবং উপরে থেকে নীচে উপরের লাইনটি পূরণ করে . উপাদানগুলি যোগ করার সাথে সাথে ক্রমানুসারে সাজানো হয় যেমন প্রথম উপাদানগুলি উপরের বাম দিকে প্রদর্শিত হয়, যদি কন্টেইনারটি সমস্ত উপাদান প্রদর্শনের জন্য যথেষ্ট প্রশস্ত না হয় তবে এটি লাইনের চারপাশে মোড়ানো হয়। উপাদানগুলির মধ্যে উল্লম্ব এবং অনুভূমিক ব্যবধান নিয়ন্ত্রণ করা যেতে পারে। উপাদানগুলিবাম, কেন্দ্র বা ডান প্রান্তিককৃত হতে পারে৷
  • বর্ডার লেআউট :এটি প্রান্ত বরাবর বা ধারকটির মাঝ বরাবর সমস্ত উপাদানগুলিকে সাজায় যেমন উপর, নীচে, ডান এবং বাম এলাকার প্রান্ত। উপরের বা নীচে যোগ করা উপাদানগুলি তার পছন্দের উচ্চতা পায়, তবে এর প্রস্থ হবে পাত্রের প্রস্থ এবং বাম বা ডানে যোগ করা উপাদানগুলি তার পছন্দের প্রস্থ পায়, তবে এর উচ্চতা হবে পাত্রের অবশিষ্ট উচ্চতা। কেন্দ্রে যোগ করা উপাদানগুলি তার পছন্দের উচ্চতা বা প্রস্থ পায় না। এটি কন্টেইনারের অবশিষ্ট অংশকে কভার করে।
  • গ্রিডলেআউট :এটি সমান আকারের কক্ষের একটি গ্রিডে সমস্ত উপাদানকে সাজায়৷ , সেগুলিকে বাম থেকে ডানে যোগ করা হচ্ছে t এবং উপর থেকে নীচে . একটি কক্ষে শুধুমাত্র একটি উপাদান স্থাপন করা যেতে পারে এবং গ্রিডের প্রতিটি অঞ্চলের আকার একই হবে। যখন ধারকটির আকার পরিবর্তন করা হয়, তখন সমস্ত কক্ষ স্বয়ংক্রিয়ভাবে পুনরায় আকার দেওয়া হয়। একটি কক্ষে উপাদান স্থাপনের ক্রম নির্ধারণ করা হয় যেহেতু সেগুলি যোগ করা হয়েছিল।
  • GridBagLayout :এটি একটি শক্তিশালী বিন্যাস যা কোষের একটি গ্রিডে সমস্ত উপাদানকে সাজিয়ে রাখে এবং যখনই ধারকটির আকার পরিবর্তন করা হয় তখন বস্তুর আকৃতির রেশন বজায় রাখে। এই বিন্যাসে, কোষের আকার ভিন্ন হতে পারে। এটি উপাদানগুলির মধ্যে একটি সামঞ্জস্যপূর্ণ অনুভূমিক এবং উল্লম্ব ফাঁক বরাদ্দ করে। এটি আমাদের কলাম বা সারির মধ্যে উপাদানগুলির জন্য একটি ডিফল্ট প্রান্তিককরণ নির্দিষ্ট করার অনুমতি দেয়৷
  • বক্সলেআউট :এটি উল্লম্বভাবে বা অনুভূমিকভাবে একাধিক উপাদান সাজায় , কিন্তু উভয় নয়। উপাদানগুলি বাম থেকে ডানে বা উপরে থেকে নীচে সাজানো হয় . যদি উপাদানগুলি অনুভূমিকভাবে সারিবদ্ধ থাকে , সমস্ত উপাদানের উচ্চতা সমান এবং বৃহত্তম আকারের উপাদানগুলির সমান হবে৷ যদি উপাদানগুলি উল্লম্বভাবে সারিবদ্ধ হয় , সমস্ত উপাদানের প্রস্থ একই এবং বৃহত্তম প্রস্থের উপাদানগুলির সমান হবে৷
  • কার্ড লেআউট :এটি একই আকারের দুই বা ততোধিক উপাদানের ব্যবস্থা করে। উপাদানগুলি একটি ডেকের মধ্যে সাজানো হয় , যেখানে একই আকারের সমস্ত কার্ড এবং শুধুমাত্র শীর্ষ কার্ড যেকোনো সময় দৃশ্যমান হয় . পাত্রে যোগ করা প্রথম উপাদানটি ডেকের শীর্ষে রাখা হবে। বাম, ডান, উপরে এবং নীচের প্রান্তে ডিফল্ট ব্যবধান শূন্য এবং কার্ডের উপাদানগুলি অনুভূমিকভাবে বা উল্লম্বভাবে প্রদর্শিত হয়৷

উদাহরণ

import java.awt.*;
import javax.swing.*;
public class LayoutManagerTest extends JFrame {
   JPanel flowLayoutPanel1, flowLayoutPanel2, gridLayoutPanel1, gridLayoutPanel2, gridLayoutPanel3;
   JButton one, two, three, four, five, six;
   JLabel bottom, lbl1, lbl2, lbl3;
   public LayoutManagerTest() {
      setTitle("LayoutManager Test");
      setLayout(new BorderLayout()); // Set BorderLayout for JFrame
      flowLayoutPanel1 = new JPanel();
      one = new JButton("One");
      two = new JButton("Two");
      three = new JButton("Three");
      flowLayoutPanel1.setLayout(new FlowLayout(FlowLayout.CENTER)); // Set FlowLayout Manager
      flowLayoutPanel1.add(one);
      flowLayoutPanel1.add(two);
      flowLayoutPanel1.add(three);
      flowLayoutPanel2 = new JPanel();
      bottom = new JLabel("This is South");
      flowLayoutPanel2.setLayout (new FlowLayout(FlowLayout.CENTER)); // Set FlowLayout Manager
      flowLayoutPanel2.add(bottom);
      gridLayoutPanel1 = new JPanel();
      gridLayoutPanel2 = new JPanel();
      gridLayoutPanel3 = new JPanel();
      lbl1 = new JLabel("One");
      lbl2 = new JLabel("Two");
      lbl3 = new JLabel("Three");
      four = new JButton("Four");
      five = new JButton("Five");
      six = new JButton("Six");
      gridLayoutPanel2.setLayout(new GridLayout(1, 3, 5, 5)); // Set GridLayout Manager
      gridLayoutPanel2.add(lbl1);
      gridLayoutPanel2.add(lbl2);
      gridLayoutPanel2.add(lbl3);
      gridLayoutPanel3.setLayout(new GridLayout(3, 1, 5, 5)); // Set GridLayout Manager
      gridLayoutPanel3.add(four);
      gridLayoutPanel3.add(five);
      gridLayoutPanel3.add(six);
      gridLayoutPanel1.setLayout(new GridLayout(2, 1)); // Set GridLayout Manager
      gridLayoutPanel1.add(gridLayoutPanel2);
      gridLayoutPanel1.add(gridLayoutPanel3);
      add(flowLayoutPanel1, BorderLayout.NORTH);
      add(flowLayoutPanel2, BorderLayout.SOUTH);
      add(gridLayoutPanel1, BorderLayout.CENTER);
      setSize(400, 325);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setLocationRelativeTo(null);
      setVisible(true);
   }
   public static void main(String args[]) {
      new LayoutManagerTest();
   }
}

আউটপুট

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


  1. একটি ইভেন্ট হ্যান্ডলিং কি এবং জাভাতে ইভেন্ট হ্যান্ডলিং এর উপাদানগুলি বর্ণনা করে?

  2. ফার্মওয়্যার কি? সংজ্ঞা এবং প্রকার

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

  4. OLED স্ক্রিন কী এবং এর প্রকারগুলি