বর্ডার ফ্যাক্টরি একটি কারখানা ক্লাস যা জাভাতে বিভিন্ন ধরনের বর্ডার প্রদান করে।
সীমানার প্রকারগুলি
- 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; } }
আউটপুট