تعلم كيفية إنشاء حاويات جانبية متحركة فى تطبيقات الجافا باستخدام المكتبة Multipanes

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

تعلم كيفية إنشاء حاويات جانبية متحركة فى تطبيقات الجافا باستخدام المكتبة Multipanes

مُساهمة من طرف أحمد مناع في السبت فبراير 08, 2014 11:51 am

بسم الله الرحمن الرحيم

أهلا وسهلا بكم إخوانى الكرام ...درس اليوم عن كيفية إنشاء حاوية جانبية متحركة بحيث عند النقر على أحد الحاويات يتم فتحها وعرض ما بها من عناصر رسومية أخرى مثل jbuttom , jlist ....الخ وذلك من خلال المكتبة Multipanes وهى عبارة عن حاوية عامة للمكونات الرسومية الاخرى و تتميز بالاتى :


  •     توسيع / طي الحاوية لاظهار واخفاء المكونات الاخرى
  •     إضافة / إزالة مكونات حيوي
  •     يمكن إضافة الرموز، والعنوان أو تلميح الأدوات
  •     يمكنها تطبيق مظهر   look&feel
  •     استخدام المستمع عند تنشيط عنصر
  •     تتوافق مع إصدار الجافا JDK1.4 و 1.5






1_ قم بتحميل المكتبة من هنــــــــــــــــــا

2_ قم بفك الضغط ثم قم بنقل الملف mp.jar  الى مسار المشروع  CLASSPATH ثم قم بادراج الملف للمشروع من خلال تحديد المكتبات ثم النقر يمين ثم أختيار الامر add jar/folder كما فى الشكل التالى :



3_ كتابة التعليمات البرمجية


  • إستيراد المكتبات للازمة للعمل


الرمز:
import javax.swing.JFrame;
import javax.swing.JTable;
import javax.swing.JTree;
import java.awt.Color;

import com.japisoft.multipanes.*;
import com.japisoft.multipanes.view.ArrowTitledPaneView;




  • نقوم بإنشاء مثيل جديد من الكائن MultiPanes حتى نستطيع التعامل مع الحاوية على النحو التالى :


الرمز:
MultiPanes mp = new MultiPanes();


  • بعض التنسيقات التى يمكنك استخدامها ...مثل وضع لون لخلفية الحاوية المختارة ولون الخط لتلك الحاوية


الرمز:
mp.setDefaultSelectedTitledPaneBackground( new Color( 50, 50, 150 ) );
                mp.setDefaultSelectedTitledPaneForeground( Color.RED );


  • لاضافة حاوية يمكنك تنفيذ الواجهة BasicTitledPane و التى تتطلب يتطلب 5 معلمات وهما على النحو التالى :



  • name .... وهو لوضع اسم  للحاوية
  • title ......وهو لوضح لوضع عنوان يظهر على الحاوية
  • icon ..... وهو لوضع ايقونة للحاوية
  • tooltip ...لوضع تلميح للحاوية
  • JComponent ....هو العنصر الرسومى المراد إضافته للحاوية


ثم تمرير تلك الواجهة الى الاسلوب addTitledPane التابعة للفئة getModel() ....و اليكم المثال التوضيحى التالى :

الرمز:
mp.getModel().addTitledPane(
 new BasicTitledPane("test20", "Title 2", new JTable()));

 mp.getModel().addTitledPane(
 new BasicTitledPane("test3", "Title 3", new JTree()));

 mp.getModel().addTitledPane(
 new BasicTitledPane("test4", "Title 4", new JTable()));

فى الكود اعلاه قمنا بانشاء ثلاثة حاويات بدون ايقون أو تلميح


  • اخيرا يتم إضافة القوائم الى النافذة على النحو التالى :


الرمز:
f.getContentPane().add(mp);

و النتيجة



  • كما يمكنك تحديد اى الحاويات التى يجب فتحها عند تشغيل النافذة اول مرة وذلك من خلال الاسلوب open مع تمرير اسم القائمة البرمجى اليها وذلك على النحو التالى :


الرمز:

 TitledPane test;            
  mp.getModel().addTitledPane(
 new BasicTitledPane("test20", "Title 2", new JTable()));

 mp.getModel().addTitledPane(
 test = new BasicTitledPane("test3", "Title 3", new JTree()));

 mp.getModel().addTitledPane(
 new BasicTitledPane("test4", "Title 4", new JTable()));



  • هنا قمت بانشاء TitledPane ثم جعلناه يساوى القائمة التى نريد ان تفتح فى اول مرة وهى القائمة test3 ثم بعد ذلك نستخدم الكود التالى لادراج القائمة على النافذة و استخدام الاسلوب open


الرمز:
f.getContentPane().add(mp);
        mp.open( test );

و النتيجة


  • كما يمكنك استخدام الكود التالى لوضع سهم على القائمة يدل على توسيع وطى القائمة


الرمز:
mp.setView( new ArrowTitledPaneView( mp ) );

و النتيجة


واليكم بعض الاساليب التى تمكنك من التحكم فى لون خلفية الحاوية و الخط و السهم ايضا الذى يظهر عليها


   multipanes.bgColor : لون الخلفية ل titledPane
   multipanes.fgColor : اللون الأمامي ل titledPane
   multipanes.font : الخط للجزء النص من جزء بعنوان
   multipanes.arrowTitledPaneView.rightArrowColor : هذا هو لون السهم ل ArrowTitledPaneView
   multipanes.arrowTitledPaneView.downArrowColor : هذا هو لون السهم ل ArrowTitledPaneView
   multipanes.arrowTitledPaneView.rightArrowIcon : هذا هو رمز السهم ل ArrowTitledPaneView
   multipanes.arrowTitledPaneView.downArrowIcon : هذا هو رمز السهم ل ArrowTitledPaneView


واليكم كود كامل

الرمز:

import javax.swing.JFrame;
import javax.swing.JTable;
import javax.swing.JTree;
import java.awt.Color;

import com.japisoft.multipanes.*;
import com.japisoft.multipanes.view.ArrowTitledPaneView;


public class NewMain {

    public static void main(String[] args) {
        
   MultiPanes mp = new MultiPanes();

 
mp.setDefaultSelectedTitledPaneBackground( new Color( 50, 50, 150 ) );
                mp.setDefaultSelectedTitledPaneForeground( Color.RED );
  
TitledPane test;            
  mp.getModel().addTitledPane(
 new BasicTitledPane("test20", "Title 2", new JTable()));

 mp.getModel().addTitledPane(
 test = new BasicTitledPane("test3", "Title 3", new JTree()));

 mp.getModel().addTitledPane(
 new BasicTitledPane("test4", "Title 4", new JTable()));
 mp.setView( new ArrowTitledPaneView( mp ) );
 
   
    JFrame f = new JFrame("Simple example");
    f.setSize(250, 500);
    f.setLocationRelativeTo(null);
    f.setDefaultCloseOperation(3);
     f.getContentPane().add(mp);
        mp.open( test );
    f.setVisible(true);
    }
}


واللى اللقاء فى مقال جديد  Very Happy

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم

إن فقدت مكان بذورك التي بذرتها يوما ما سيخبرك المطر أين زرعتها ..لذا إبذر الخير فوق أي أرض وتحت أي سماء ومع أي أحد.. فأنت لا تعلم أين تجده ومتى تجده؟! إزرع جميلا ولو في غير موضعه .... فلا يضيع جميلا أينما زرعا .. فما أجمل العطاء... فقد تجد جزاءه في الدنيا أو يكون لك ذخرا في الآخرة

أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 809
النقاط : 1478
التقيم : 69
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: تعلم كيفية إنشاء حاويات جانبية متحركة فى تطبيقات الجافا باستخدام المكتبة Multipanes

مُساهمة من طرف زهراء في الجمعة سبتمبر 12, 2014 11:14 am

جزاكم الله خيرا

زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 262
النقاط : 372
التقيم : 24
الدولة : مصر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى