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