Swingطريقة إنشاء قائمة شجرية أو قائمة هرمية JTree
تحتوي على عناصر
المثال التالي يعلمك طريقة إنشاء كائن من الكلاس JTree
يحتوي على عناصر.
مثال
import javax.swing.JFrame; import java.awt.GridLayout; import javax.swing.JTree; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.JScrollPane; public class Main { public static void main(String[] args) { JFrame frame = new JFrame("JTree demo"); // أي قمنا بإنشاء نافذة مع وضع عنوان لها JFrame هنا أنشأنا كائن من الكلاس frame.setSize(350, 300); // هنا قمنا بتحديد النافذة. عرضها 350 و طولها 300 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // هنا جعلنا زر الخروج من النافذة يغلق البرنامج frame.setLayout(new GridLayout()); // في كامل الشاشة مهما كان حجمها Tree لأننا سنضع الـ Layout Manager كـ GridLayout هنا إستخدمنا كائن من الكلاس // Tree التي سنضعها في الـ Nodes هنا قمنا بتعريف جميع الـ DefaultMutableTreeNode menu = new DefaultMutableTreeNode("Menu"); DefaultMutableTreeNode food = new DefaultMutableTreeNode("Food"); DefaultMutableTreeNode drink = new DefaultMutableTreeNode("Drink"); DefaultMutableTreeNode pizza = new DefaultMutableTreeNode("Pizza"); DefaultMutableTreeNode hotDogs = new DefaultMutableTreeNode("Hot Dogs"); DefaultMutableTreeNode chicken = new DefaultMutableTreeNode("Chicken"); DefaultMutableTreeNode hamburger = new DefaultMutableTreeNode("Hamburger"); DefaultMutableTreeNode pepsi = new DefaultMutableTreeNode("Pepsi"); DefaultMutableTreeNode cola = new DefaultMutableTreeNode("Cola"); DefaultMutableTreeNode rani = new DefaultMutableTreeNode("Rani"); DefaultMutableTreeNode water = new DefaultMutableTreeNode("Water"); // بداخل بعضهم البعض تماماً كما يظهر في نتيجة التشغيل Nodes هنا قمنا بوضع الـ menu.add(food); menu.add(drink); food.add(pizza); food.add(hotDogs); food.add(chicken); food.add(hamburger); drink.add(pepsi); drink.add(cola); drink.add(rani); drink.add(water); // لها Root Node كـ menu مع وضع كائن الـ Tree هنا قمنا بتعريف الـ JTree tree = new JTree(menu); tree.setToggleClickCount(1); // تظهر ما فيها من نقرة واحدة Node هنا جعلنا أي tree.setEditable(true); // عند النقر على إسمها ثلاث مرات متتالية Node بالإضافة إلى أنه يمكن تغيير إسم أي JScrollPane treeScroller = new JScrollPane(tree); // عند الحاجة Scroll Bar لضمان ظهور JScrollPane بداخل كائن من الكلاس tree هنا وضعنا الـ frame.add(treeScroller); // frame في الـ treeScroller هنا أضفنا الـ frame.setVisible(true); // هنا جعلنا النافذة مرئية } }
ستظهر لك النافذة التالية عند التشغيل.
هنا قمنا بإظهار جميع الـ Nodes الموجودين بداخل الـ Tree.