Swing الكلاس JTree

مقدمة

الكلاس JTree يستخدم لإضافة قائمة شجرية (Tree) في واجهة المستخدم.
هذه القائمة تظهر ما بداخلها عند النقر عليه.

المقصود من كلمة شجرية هو أن كل كائن بداخلها يمكنه أيضاً إحتواء عدد غير محدد من الكائنات بداخله, و كل كائن يظهر ما بداخله عند النقر عليه.


بناؤه

public class JTree
extends JComponent
implements Scrollable, Accessible
	

مصطلحات تقنية

المصطلح معناه
Root Node تعني أعلا كائن يظهر في الـ Tree.
Parent Node تعني كائن يحتوي على كائن أو أكثر بداخله, و هو يظهرهم عند النقر عليه.
Leaf Node تعني كائن لا يحتوي على كائن بداخله.

طريقة التعامل معه

كل شيء يظهر بداخل الـ Tree يسمى Node بشكل عام.
لذلك لإضافة Node فيها, يمكنك إضافته ككائن من الكلاس DefaultMutableTreeNode.
بعدها إستخدم الدالة add() لإضافتهم بداخل بعضهم البعض.
بعدها قم بإنشاء كائن من الكلاس JTree و حدد له الـ Node التي تريد إعتبارها Root Node.

يمكنك وضع كائن الـ JTree بداخل JScrollPane لجعله يظهر Scroll Bar عند الحاجة.

لا تقلق ستفهم كل شيء من الأمثلة.

كونستركتورات الكلاس JTree

الجدول التالي يحتوي على أهم الكونستركتورات الموجودة في الكلاس JTree.

الكونستركتور مع تعريفه
public JTree() ينشئ كائن من الكلاس JTree يمثل Tree فارغ.
public JTree(TreeModel model) ينشئ كائن من الكلاس JTree يمثل Tree تحتوي على كائنات.
مكان الباراميتر model نضع كائن من إحدى الكلاسات التي تنفذ الإنترفيس TreeModel و الذي بدوره يحتوي على جميع الكائنات التي ستظهر في الـ Tree.
public JTree(TreeNode rootNode) ينشئ كائن من الكلاس JTree يمثل Tree تحتوي على كائنات.
مكان الباراميتر root نضع كائن من إحدى الكلاسات التي تنفذ الإنترفيس TreeNode و الذي بدوره يمثل الـ Root Node للـ Tree.

دوال الكلاس JTree

الجدول التالي يحتوي على أهم الدوال الموجودة في الكلاس JTree.

الدالة مع تعريفها
public void setEditable(boolean flag) تستخدم لتحديد إذا كان يمكن تغيير نص الـ Nodes أم لا.
مكان الباراميتر flag نضع true إذا أردنا جعل المستخدم قادراً على تغيير إسم أي Node موجودة في الـ Tree.
و نضع false إذا لم نرد جعله قادراً على تغيير الأسماء.

ملاحظة: إفتراضياً, سيكون على المستخدم النقر ثلاث مرات على إسم أي Node حتى يستطيع تغييره.
public void setToggleClickCount(int clickCount) تستخدم لتحديد كم مرة يجب على المستخدم أن يقوم بالنقر على الـ Node حتى تظهر أو تخفي ما فيها.
مكان الباراميتر clickCount نضع رقم يمثل عدد المرات التي يجب فيها النقر على الـ Node حتى تظهر أو تخفي ما فيها.

ملاحظة: إفتراضياً, سيكون على المستخدم النقر مرتين على الـ Node حتى تظهر أو تخفي ما فيها.
public void setRootVisible(boolean rootVisibilty) تستخدم لإخفاء أو إظهار الـ Root Node.
مكان الباراميتر rootVisibilty نضع true إذا أردنا إخفاء الـ Root Node.
و نضع false إذا أردنا إظهارها.

ملاحظة: إخفاء الـ Root Node لا يعني إخفاء الـ Nodes الموجودين فيها.

مثال شامل

المثال التالي يعلمك طريقة إنشاء كائن من الكلاس JTree و إضافته في النافذة.

طريقة إنشاء قائمة شجرية JTree في جافا

شاهد المثال »

الدورات

أدوات مساعدة

الأقسام

دورات
مقالات أسئلة مشاريع كتب