BorderFactory एक फैक्टरी क्लास है जो Java में विभिन्न प्रकार के बॉर्डर प्रदान करती है।
बॉर्डर के प्रकार
- BevelBorder: यह बॉर्डर उभरे हुए या दबे हुए बेवेल्ड किनारे खींचता है।
- EmptyBorder: यह कोई ड्राइंग नहीं करता, लेकिन जगह लेता है।
- EtchedBorder: एक लोअर एच्ड बॉर्डर एक आयत की उपस्थिति देता है और एक रेज्ड एच्ड बॉर्डर स्क्रीन की सतह की तरह दिखता है।
- LineBorder: एक घटक के चारों ओर एक साधारण आयत खींचता है। हम LineBorder कंस्ट्रक्टर में लाइन का रंग और चौड़ाई निर्दिष्ट कर सकते हैं।
- MatteBorder: हम एक निश्चित रंग के साथ MatteBorder बना सकते हैं और घटक के बाएं, ऊपर, दाएं, और नीचे पर बॉर्डर का आकार निर्दिष्ट कर सकते हैं। एक MatteBorder हमें एक आइकन पास करने की भी अनुमति देता है जिसका उपयोग बॉर्डर बनाने के लिए किया जाएगा। यह एक छवि (ImageIcon) या Icon इंटरफ़ेस का कोई अन्य कार्यान्वयन हो सकता है।
- TitledBorder: एक शीर्षक के साथ एक नियमित बॉर्डर। एक TitledBorder वास्तव में बॉर्डर नहीं खींचता; यह केवल दूसरे बॉर्डर ऑब्जेक्ट के साथ संयोजन में एक शीर्षक खींचता है। यह बॉर्डर प्रकार जटिल इंटरफ़ेस में नियंत्रण के विभिन्न सेट को समूहित करने के लिए विशेष रूप से उपयोगी है।
- कंपाउंड बॉर्डर: एक बॉर्डर जिसमें दो अन्य बॉर्डर होते हैं। यह विशेष रूप से आसान है यदि हम एक घटक को 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;
}
}
आउटपुट
