کنترل JToolBar

از کنترل JToolBar برای ایجاد نوار ابزار استفاده می شود. سازنده این کلاس به روش های زیر مقداردهی می شود :

JToolBar()	
JToolBar(int orientation)
JToolBar(String name)
JToolBar(String name, int orientation)

نوار ابزار شامل دکمه ها و اجزای مفیدی برای راحتی کار کاربر می باشد. مانند منو، نوار ابزار هم در تعداد زیادی از نرم افزارهای مشهور مانند Microsoft Office 2003 به چشم می خورد. در زیر نوار ابزار Microsoft Office 2003 را مشاهده می کنید :
toolbars in swing
در اصل نوار ابزار را می توان منو و زیر منوهایی فرض کرد که به دلیل کاربرد زیاد آنها، برای در دسترس بودن همیشگی، آنها را به صورت دکمه و در زیر نوار قرار می دهند. قبل از هر چیز ابتدا آیکونهای برنامه را از لینک زیر دانلود کرده و در پوشه ای به نام images در درایو D ذخیره کنید :

برای درک بهتر کار با نوار ابزار و کنترل JToolBar در جاوا به کد زیر توجه کنید :

   1: import java.awt.*;
   2: import javax.swing.*;
   3: 
   4: public class FrameDemo 
   5: {
   6:     public static void main(String[] args)
   7:     {
   8:         JFrame frame1 = new JFrame("JToolBar Demo");
   9:         frame1.setLayout(new BorderLayout());
  10: 
  11:         JToolBar firstToolbar  = new JToolBar();
  12:         JToolBar secondToolbar = new JToolBar();
  13:         
  14:         JPanel panel = new JPanel();
  15:         panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
  16:     
  17:         JButton New         = new JButton(new ImageIcon("D:\\images\\new.png"));
  18:         JButton Open        = new JButton(new ImageIcon("D:\\images\\open.png"));
  19:         JButton Save        = new JButton(new ImageIcon("D:\\images\\save.png"));
  20:         JButton Cut         = new JButton(new ImageIcon("D:\\images\\cut.png"));
  21:         JButton Copy        = new JButton(new ImageIcon("D:\\images\\copy.png"));
  22:         JButton Print       = new JButton(new ImageIcon("D:\\images\\print.png"));
  23:         JButton Left2right  = new JButton(new ImageIcon("D:\\images\\left2right.png"));
  24:         JButton Right2left  = new JButton(new ImageIcon("D:\\images\\right2left.png"));
  25:         JButton Center      = new JButton(new ImageIcon("D:\\images\\center.png"));
  26:         JButton Right       = new JButton(new ImageIcon("D:\\images\\right.png"));
  27:         JButton Left        = new JButton(new ImageIcon("D:\\images\\left.png"));
  28:         
  29:         firstToolbar.add(New);
  30:         firstToolbar.add(Open);
  31:         firstToolbar.add(Save);
  32:         firstToolbar.add(Cut);
  33:         firstToolbar.add(Copy);
  34:         firstToolbar.add(Print);
  35:         firstToolbar.setAlignmentX(0);
  36:         
  37:         secondToolbar.add(Left2right);
  38:         secondToolbar.add(Right2left);
  39:         secondToolbar.add(Center);
  40:         secondToolbar.add(Right);
  41:         secondToolbar.add(Left);
  42:         secondToolbar.setAlignmentX(0);
  43:         
  44:         panel.add(firstToolbar);
  45:         panel.add(secondToolbar);        
  46:         frame1.add(panel,BorderLayout.NORTH);
  47:         
  48:         frame1.setSize(416, 313);
  49:         frame1.setVisible(true);      
  50:     }   
  51: }

در کد بالا و در خطوط 11 و 12 دو نوار ابزار ایجاد کرده ایم. در خط 14 و 15 یک Panel ایجاد و نحوه لایه بندی آن را BoxLayout و در راستای محور Y ها قرار داده ایم. چون که می خواهیم دو نوار در زیر هم قرار گیرند. در خطوط 27-17 چندین دکمه ایجاد کرده و با استفاده از کلاس ImageIcon به هر کدام از آنها یکی از عکس هایی که در درایو D ذخیره کردیم را اختصاص می دهیم. در خطوط 34-29 چندین دکمه را در نوار ابزار اول و در خطوط 41-37 مابقی دکمه ها را در نوار ابزار دوم قرار می دهیم. بدون خطوط 35 و 42 نوار ابزارها در وسط Panel قرار می گیرند که ما در این دو خط و با استفاده از متد ()setAlignmentX آنها را به سمت چپ Panel منتقل می کنیم. در خطوط 44 و 45 دو نوار ابزار را به Panel و در خط 46 خود Panel را به قسمت بالای Frame اضافه می کنیم. برنامه را اجرا و نتیجه را مشاهده کنید :
jtoolbar-in-java-01

اگر بخواهید که نوار های ابزارتان در یک خط نمایش داده شوند کافیست که خط 15 کد بالا را به صورت زیر تغییر دهید :

panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));

حال برنامه را اجرا و نتیجه را مشاهده کنید :
jtoolbar-in-java-02
نوار ابزار را به صورت عمودی هم می شود ایجاد کرد. برای این کار کافیست که خطوط 11 و 12 کد بالا را به صورت زیر تغییر دهید :

JToolBar firstToolbar  = new JToolBar(JToolBar.VERTICAL);
JToolBar secondToolbar = new JToolBar(JToolBar.VERTICAL);

برنامه را اجرا کنید :
jtoolbar-in-java-04
مشاهده می کنید که نوار ابزارها در زیر هم قرار گرفتند و این به خاطر لایه بندی Panel در خط 15 می باشد. حال خطوط 15 ، 35 و 42 را به صورت زیر تغییر دهید :

panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));

firstToolbar.setAlignmentY(0);

secondToolbar.setAlignmentY(0);

بار دیگر برنامه را اجرا و نتیجه را مشاهده کنید :

jtoolbar-in-java-03