استخدام بوردرفاكتوري لإنشاء الحدود
لإضافة حد إلى مكون أو حاوية، يمكنك استخدام java BorderFactory< / i>< / b > والذي يوفر أنواعا عديدة من حدود التأرجح. الخطوات الثلاث لإنشاء حد هي:- إنشاء حد عن طريق إنشاء مثيل ل Border.
- اختر نمط الحدود باستخدام BorderFactory.create ... ().
- تعديل JComponent (المكون) بالطريقة setBorder.
LineBorder
هذه الطريقة BorderFactory.createLineBorder(Color, int) ينشئ حدا واحدا. تمثل المعلمة الأولى اللون والثانية ، عرض الخط.تقوم التعليمات البرمجية التالية بإنشاء حد في JLabel و JPanel.
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.BorderFactory ؛
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.Border;
من الفئة العامة BorderFactoryExample يمتد JPanel{
public BorderFactoryExample(){
JFrame f = JFrame الجديد ("BorderFactoryExample");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
لوحة JPanel = JPanel جديدة ();
تسمية JLabel = JLabel الجديدة ("lineBorder") ؛
label.setPreferredSize (البعد الجديد (100 ، 100)) ؛
panel.add (التسمية) ؛
panel.setPreferredSize (البعد الجديد (200125)) ؛
// إنشاء حد خط أسود والحد الأدنى للعرض 1
الحدود lineborder = BorderFactory.createLineBorder (Color.black ، 1) ؛
// المنتسبين مع JLabel
label.setBorder (lineborder) ؛
f.getContentPane().setLayout(new BorderLayout());
f.add (JLabel الجديد (" ") ، BorderLayout.NORTH) ؛
// ضبط إلى center
f.add (لوحة ، BorderLayout.CENTER) ؛
f.pack ();
}
الفراغ الثابت العام الرئيسي (سلسلة [] args) {
جديد BorderFactoryExample();
}
}
< / pre> الإخراج
< div class = "فاصل" النمط = "واضح: كلاهما; محاذاة النص: الوسط؛" >< / a>< / div>
EtchedBorder< / h2> محفور يعني محفورا باللغة الفرنسية ، إما من الخارج: EtchedBorder.RAIISED ، أو من الداخل: EtchedBorder.LOWERED.
RAISED
Border EtchedBorderRaised = BorderFactory.createEtchedBorder(EtchedBorder.RAISED); < / pre>< / div>< / a>< / div>
LOWERED< / h3 >< / div>
Border EtchedBorderLowered = BorderFactory.createEtchedBorder(EtchedBorder.LOWERED); < / pre>< / a>< / div>
RaisedBevelBorder< / h2>< / div>
ينشئ حدا كزر فضفاض بظلال فاتحة وظلال أغمق للظلال.ينشئ حدا كزر مضغوط بظلال فاتحة وأغمق للظلال.Border LoweredBevelBorder = BorderFactory.createLoweredBevelBorder(); < / pre>< / div>< / a>< / div>
MatteBorder< / h2>< / div>
إنشاء حد مع 5 معلمات ، أول 4 معالجة عرض الخط الأيسر والأيمن والعلوي والسفلي ، وآخر واحد لتلوين الحواف.< / div>
< / div>Border matteborder = BorderFactory.createMatteBorder (1 ، 1 ، 3 ، 1 ، Color.blue) ؛ < / pre>< / a>< / div>
يمكنك أيضا جعلها أجمل عن طريق إضافة رمز يعيد التصميم حول الحدود:
< pre class = "prettyprint lang-java" > ImageIcon icon = رمز ImageIcon الجديد ("etoile.png") ؛
الحدود matteborder = BorderFactory.createMatteBorder (1 ، 1 ، 3 ، 1 ، رمز) ؛ < / pre>< / a>< / div>
TitledBorder< / h2>
TitledBorder لديها خمسة منشئات ، اخترنا تقديم مثال مع المثال الذي يتضمن جميع المعلمات التي تسمح لك بإضافة عنوان إلى حد بنمط حدود معين ، نبسب؛ الموضع والخط واللون.
< pre class = "prettyprint lang-java" > Border LoweredBevelBorder = BorderFactory.createLoweredBevelBorder ();
Border EtchedBorderRaise = BorderFactory.createTitledBorder(LoweredBevelBorder, "title",
TitledBorder.LEFT,TitledBorder.TOP,
الخط الجديد ("Arial" ، Font.PLAIN ، 13) ، Color.black) ؛
< / pre>< / div >< div class = "فاصل" النمط = "واضح: كلاهما ؛ محاذاة النص: الوسط؛" >< / a>< / div>
< / div>EtchedBorder< / h2>< / div>
يجمع هذا النمط بين نمطين في نمط واحد. على سبيل المثال ، نريد رسم LineBorder داخل RaisedBevelBorder: < / div>Border lineborder = BorderFactory.createLoweredBevelBorder ();
الحدود المرفوعة شطبة الحدود = BorderFactory.createLineBorder (Color.blue) ؛
الحدود المحفورة الحدود = BorderFactory.createCompoundBorder (lineborder,
RaisedBevelBorder);
< / pre>< / div>