کنترل JPanel

کنترل JPanel معمولا برای گروه بندی کنترل های فرم بکار می رود. سازنده این کلاس به روش های زیر مقداردهی می شود :

public JPanel()
public JPanel(boolean isDoubleBuffered)
public JPanel(LayoutManager manager)
public JPanel(LayoutManager manager, boolean isDoubleBuffered)

یکی از کاربردهای خوب Panel این است که شما می خواهید دکمه های Radio را گروه بندی کنید. با توجه به اینکه فقط یکی از دکمه های JRadioButton در فرم می تواند فعال باشد ، شما می توانید با گروه بندی کردن آنها بیش از یک دکمه ی JRadioButton فعال داشته باشید. وقتی که شما کنترلی را در داخل یک JPanel قرار می دهید ، آن کنترل به فرزند JPanel تبدیل می شود و JPanel به والد کنترل تبدیل می شود. بر درک این مساله کافیست به عنوان مثال ، بر درک این مساله کافیست ، JPanel را تغییر اندازه دهید. هر کنترلی که در داخل JPanel قرار دارد به همراه آن حرکت می کند. به کد زیر توجه کنید :

   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("JCheckBox Demo");
  10:         frame1.setLayout(new GridLayout(1,2));
  11:     
  12:         JPanel Panel1 =  new JPanel();
  13:         Panel1.setLayout(new GridLayout(2,1));
  14:         Panel1.setBorder(new TitledBorder(new MatteBorder(1, 1, 1, 1, Color.lightGray),"Group One"));
  15:         
  16:         JPanel Panel2 =  new JPanel();
  17:         Panel2.setLayout(new GridLayout(2,1));
  18:         Panel2.setBorder(new TitledBorder(new MatteBorder(1, 1, 1, 1, Color.lightGray),"Group Two"));
  19:         
  20:         JRadioButton JRadioButton1 = new JRadioButton("JRadioButton1");
  21:         JRadioButton JRadioButton2 = new JRadioButton ("JRadioButton2");
  22:         JRadioButton JRadioButton3 = new JRadioButton ("JRadioButton3");
  23:         JRadioButton JRadioButton4 = new JRadioButton ("JRadioButton4");
  24:         
  25:         ButtonGroup ButtonGroup1 = new ButtonGroup();
  26:         ButtonGroup1.add(JRadioButton1);
  27:         ButtonGroup1.add(JRadioButton2);
  28:         
  29:         ButtonGroup ButtonGroup2 = new ButtonGroup();
  30:         ButtonGroup2.add(JRadioButton3);
  31:         ButtonGroup2.add(JRadioButton4);
  32: 
  33:         Panel1.add(JRadioButton1);
  34:         Panel1.add(JRadioButton2);
  35:         
  36:         Panel2.add(JRadioButton3);
  37:         Panel2.add(JRadioButton4);
  38:         
  39:         frame1.add(Panel1);
  40:         frame1.add(Panel2);
  41:                  
  42:         frame1.setSize(356 , 263);
  43:         frame1.setVisible(true);          
  44:     }   
  45: }

در کد بالا و در خطوط 18-9 یک Frame و دو Panel و در خطوط 14 و 18 دو حاشیه هم با Panel ها همراه با عنوان برای آنها ایجاد کرده ایم. در خطوط 31-20 چهار دکمه رادیویی ایجاد کرده و آنها را در دو گروه ، گروه بندی می کنیم (خطوط 31-25). گروه اول (JRadioButton1 و JRadioButton2) را در Panel1 و گروه دوم (JRadioButton1 و JRadioButton2) را در Panel2 قرار می دهیم (خطوط 37-33). حال برنامه را اجرا و نیجه را با انتخاب دکمه ها مشاهده کنید :
panel-in-java-01