কম্পিউটার

জাভাতে বর্ডারফ্যাক্টরি ব্যবহার করে আমরা কীভাবে বিভিন্ন সীমানা প্রয়োগ করতে পারি?


বর্ডার ফ্যাক্টরি একটি কারখানা ক্লাস যা জাভাতে বিভিন্ন ধরনের বর্ডার প্রদান করে।

সীমানার প্রকারগুলি

  • BevelBorder :এই সীমানা আঁকা উত্থাপিত অথবা নিম্ন করা হয়েছে বেভেলড প্রান্ত।
  • EmptyBorder :এটি কোনো অঙ্কন করে না, তবে জায়গা নেয়।
  • EtchedBorder :একটি নিম্ন খোদাই করা সীমানা একটি আয়তক্ষেত্র এবং একটি উত্থিত খোদাই করা সীমানার চেহারা দেয় পর্দার পৃষ্ঠের মত দেখায়।
  • লাইনবর্ডার :একটি উপাদানের চারপাশে একটি সরল আয়তক্ষেত্র আঁকে। আমরা লাইনবোর্ডে লাইনের রঙ এবং প্রস্থ নির্দিষ্ট করতে পারি কনস্ট্রাক্টর।
  • ম্যাটবর্ডার :আমরা একটি MatteBorder তৈরি করতে পারি একটি নির্দিষ্ট রঙ দিয়ে এবং বাম দিকে সীমানার আকার নির্দিষ্ট করুন , উপরে, ডানে এবং নীচে উপাদানের। একটি ম্যাটবর্ডার এছাড়াও আমাদের একটি আইকন পাস করার অনুমতি দেয় যা সীমানা আঁকতে ব্যবহার করা হবে। এটি একটি ছবি (ImageIcon) বা আইকন -এর অন্য কোনো বাস্তবায়ন হতে পারে ইন্টারফেস।
  • টাইটেল বর্ডার :একটি শিরোনাম সহ একটি নিয়মিত সীমানা। একটি শিরোনামযুক্ত বর্ডার আসলে একটি সীমানা আঁকা না; এটি অন্য বর্ডার অবজেক্টের সাথে একযোগে একটি শিরোনাম আঁকে। এই বর্ডার টাইপটি একটি জটিল ইন্টারফেসে নিয়ন্ত্রণের বিভিন্ন সেট গ্রুপ করার জন্য বিশেষভাবে উপযোগী৷
  • কম্পোনেন্ট বর্ডার: একটি সীমানা যেখানে আরও দুটি সীমানা রয়েছে৷ এটি বিশেষভাবে কার্যকর যদি আমরা একটি EmptyBorder -এ একটি উপাদান আবদ্ধ করতে চাই এবং তারপর এটির চারপাশে আলংকারিক কিছু রাখুন, যেমন একটি EtchedBorder অথবা একটি MatteBorder .

উদাহরণ

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
public class BorderFactoryMain {
   public static void main(String[] args) {
      SwingUtilities.invokeLater(run);
   }
   static Runnable run = new Runnable() {
      @Override
      public void run() {
         BorderFactoryTest test;
         test = new BorderFactoryTest();
         test.setVisible(true);
      }
   };
   public static class BorderFactoryTest extends JFrame {
      public BorderFactoryTest() {
         setTitle("BorderFactory Test");
         setSize(350, 400);
         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         setLayout(new FlowLayout());
         add(createBorderedPanel(BorderFactory.createRaisedBevelBorder(),       "createRaisedBevelBorder()"));
         add(createBorderedPanel(BorderFactory.createBevelBorder(BevelBorder.LOWERED), "createBevelBorder(BevelBorder.LOWERED)"));
         add(createBorderedPanel(BorderFactory.createBevelBorder(BevelBorder.RAISED), "createBevelBorder(BevelBorder.RAISED)"));
         add(createBorderedPanel(BorderFactory.createCompoundBorder(BorderFactory.
         createBevelBorder(BevelBorder.RAISED),BorderFactory.createBevelBorder(BevelBorder.LOWERED)),
         "createCompoundBorder(RAISED, LOWERED)"));
         add(createBorderedPanel(BorderFactory.createEtchedBorder(), "createEtchedBorder()"));
         add(createBorderedPanel(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED),       "createEtchedBorder(EtchedBorder.LOWERED)"));
         add(createBorderedPanel(BorderFactory.createEtchedBorder(EtchedBorder.RAISED), "createEtchedBorder(EtchedBorder.RAISED)"));
         add(createBorderedPanel(BorderFactory.createEtchedBorder(Color.lightGray, Color.yellow), "createEtchedBorder(Color.lightGray, Color.yellow)"));
         add(createBorderedPanel(BorderFactory.createLineBorder(Color.red), "createLineBorder(Color.red)"));
         add(createBorderedPanel(BorderFactory.createLineBorder(Color.blue, 5), "createLineBorder(Color.blue, 5)"));
         add(createBorderedPanel(BorderFactory.createDashedBorder(null), "createDashedBorder(null)"));
         setLocationRelativeTo(null);
      }
   }
   private static JPanel createBorderedPanel(Border b, String name) {
      JLabel label = new JLabel(name);
      JPanel panel = new JPanel();
      panel.setBorder(b);
      panel.add(label);
      return panel;
   }
}

আউটপুট

জাভাতে বর্ডারফ্যাক্টরি ব্যবহার করে আমরা কীভাবে বিভিন্ন সীমানা প্রয়োগ করতে পারি?


  1. কিভাবে আমরা জাভাতে গ্রাফিক্স অবজেক্ট ব্যবহার করে একটি বৃত্তাকার আয়তক্ষেত্র আঁকতে পারি?

  2. কিভাবে আমরা জাভাতে একটি JPanel এর paintComponent() পদ্ধতি প্রয়োগ করতে পারি?

  3. কিভাবে আমরা জাভাতে একটি JToggleButton বাস্তবায়ন করতে পারি?

  4. কিভাবে আমরা জাভাতে JWindow ব্যবহার করে একটি স্প্ল্যাশ স্ক্রিন বাস্তবায়ন করতে পারি?