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); // هنا جعلنا النافذة مرئية
}
}
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.