استخدام بوردرفاكتوري لإنشاء الحدود

لإضافة حد إلى مكون أو حاوية، يمكنك استخدام 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 = "فاصل" النمط = "واضح: كلاهما; محاذاة النص: الوسط؛" >مثال BorderFactory lineBorder< / a>< / div>

EtchedBorder< / h2> محفور يعني محفورا باللغة الفرنسية ، إما من الخارج: EtchedBorder.RAIISED ، أو من الداخل: EtchedBorder.LOWERED.

RAISED

Border EtchedBorderRaised = BorderFactory.createEtchedBorder(EtchedBorder.RAISED); < / pre>< / div>
Borderfactory raised< / a>< / div>

LOWERED< / h3 >< / div>
Border EtchedBorderLowered = BorderFactory.createEtchedBorder(EtchedBorder.LOWERED); < / pre>
خفضت الحدود< / a>< / div>

RaisedBevelBorder< / h2>< / div>
ينشئ حدا كزر فضفاض بظلال فاتحة وظلال أغمق للظلال.

ينشئ حدا كزر مضغوط بظلال فاتحة وأغمق للظلال.

Border LoweredBevelBorder = BorderFactory.createLoweredBevelBorder(); < / pre>< / div>
borderfactory خفضت الحدود شطبة< / a>< / div>

MatteBorder< / h2>< / div>
إنشاء حد مع 5 معلمات ، أول 4 معالجة عرض الخط الأيسر والأيمن والعلوي والسفلي ، وآخر واحد لتلوين الحواف.< / div>

< / div>
 Border matteborder = BorderFactory.createMatteBorder (1 ، 1 ، 3 ، 1 ، Color.blue) ؛ < / pre>
borderfactory matteborder< / a>< / div>
يمكنك أيضا جعلها أجمل عن طريق إضافة رمز يعيد التصميم حول الحدود:

< pre class = "prettyprint lang-java" > ImageIcon icon = رمز ImageIcon الجديد ("etoile.png") ؛
الحدود matteborder = BorderFactory.createMatteBorder (1 ، 1 ، 3 ، 1 ، رمز) ؛ < / pre>