کلاس TitleBorder

از کلاس TitleBorder برای کشیدن خط به دور کنترل به همراه یک عنوان استفاده می شود. سازنده این کلاس به صورت زیر مقداردهی می شود :

TitledBorder(Border border)
TitledBorder(String string)
TitledBorder(Border border, String string)
TitledBorder(Border border, String string, titleJustification, titlePosition)
TitledBorder(Border border, String string, titleJustification, titlePosition, Font font)
TitledBorder(Border border, String string, titleJustification, titlePosition,  Font font, Color.yellow)

Border نوع حاشیه کنترل را مشخص می کند.
titleJustification چپ چین، راست چین یا وسط چین بودن عنوان را مشخص می کند و مقادیر زیر را می پذیرد :

  • LEFT
  • CENTER
  • RIGHT

titlePosition بالا یا پایین قرار گرفتن عنوان را مشخص می کند و مقادیر زیر را می پذیرد :

  • TOP
  • ABOVE_TOP
  • BELOW_TOP
  • BOTTOM
  • ABOVE_BOTTOM
  • BELLOW_BOTTOM

Font نوع و اندازه فونت عنوان و Color رنگ آن را مشخص می کند. برای درک بهتر استفاده از کلاس فوق و ثابت های آن به مثال زیر توجه کنید :

   1: import java.awt.*;
   2: import javax.swing.*;
   3: import javax.swing.border.*;
   4: 
   5: public class FrameDemo 
   6: {
   7:     public static void main(String[] args) 
   8:     {
   9:         JFrame frame1 =  new JFrame("TitledBorder Demo");
  10:         frame1.setLayout(new GridLayout(3, 3));
  11:         frame1.setSize(600 , 450);
  12:         
  13:         JPanel Panel1 =  new JPanel ();
  14:         Panel1.setBorder(new TitledBorder(null, "Title", TitledBorder.LEFT, TitledBorder.TOP));
  15:         JPanel Panel2 =  new JPanel ();
  16:         Panel2.setBorder(new TitledBorder(null, "Title", TitledBorder.LEFT, TitledBorder.ABOVE_TOP));       
  17:         JPanel Panel3 =  new JPanel ();
  18:         Panel3.setBorder(new TitledBorder(null, "Title", TitledBorder.LEFT, TitledBorder.BELOW_TOP));
  19:         JPanel Panel4 =  new JPanel ();
  20:         Panel4.setBorder(new TitledBorder(null, "Title", TitledBorder.CENTER, TitledBorder.TOP));
  21:         JPanel Panel5 =  new JPanel ();
  22:         Panel5.setBorder(new TitledBorder(null, "Title", TitledBorder.CENTER, TitledBorder.ABOVE_TOP));       
  23:         JPanel Panel6 =  new JPanel ();
  24:         Panel6.setBorder(new TitledBorder(null, "Title", TitledBorder.CENTER, TitledBorder.BELOW_TOP));
  25:         JPanel Panel7 =  new JPanel ();
  26:         Panel7.setBorder(new TitledBorder(null, "Title", TitledBorder.RIGHT, TitledBorder.TOP));
  27:         JPanel Panel8 =  new JPanel ();
  28:         Panel8.setBorder(new TitledBorder(null, "Title", TitledBorder.RIGHT, TitledBorder.ABOVE_TOP));       
  29:         JPanel Panel9 =  new JPanel ();
  30:         Panel9.setBorder(new TitledBorder(null, "Title", TitledBorder.RIGHT, TitledBorder.BELOW_TOP));
  31:         
  32:         frame1.add(Panel1);
  33:         frame1.add(Panel2);
  34:         frame1.add(Panel3);
  35:         frame1.add(Panel4);
  36:         frame1.add(Panel5);
  37:         frame1.add(Panel6);
  38:         frame1.add(Panel7);
  39:         frame1.add(Panel8);
  40:         frame1.add(Panel9);
  41:        
  42:         frame1.setVisible(true);
  43:     }   
  44: }

در کد بالا عنوان 9 پنل را به حالات مختلف مشخص کرده ایم. خروجی کد بالا به صورت زیر است :
Titleborder-class-in-java-01
با توجه به شکل متوجه می شوید که اگر بخواهید مثلا عنوان شما در بالای پنل و سمت راست آن نمایش داده شود باید از کد زیر استفاده کنید :

new TitledBorder(null, "Title", TitledBorder.RIGHT, TitledBorder.TOP)

کلمه های TOP در کد ابتدای درس را به BOTTOM تغییر داده و برنامه را اجرا و نتیجه را مشاهده کنید. رنگ و نوع فونت عنوان و حاشیه کنترل را هم می توان مشخص کرد :

Panel1.setBorder(new TitledBorder(new MatteBorder(5, 5, 5, 5, Color.BLUE), "Title", TitledBorder.RIGHT, TitledBorder.TOP,new Font("Serif", Font.BOLD, 15),Color.PINK));

Titleborder-class-in-java-02