خلاصه مطلب
در این جلسه آموزشی زبان برنامه نویسی جاوا قصد داریم JTree یکی از کلاس های گرافیکی موجود در کتابخانه Swing را بررسی کنیم
فهرست جلسات آموزش گرافیک در جاوا
جلسه اول | معرفی Swing در جاوا
جلسه دوم | کلاس JButton در جاوا
جلسه سوم | کلاس JLabel در جاوا
جلسه چهارم | کلاس JTextField درجاوا
جلسه پنجم | کلاس JTextArea در جاوا
جلسه ششم | کلاس JPasswordField در جاوا
جلسه هفتم | کلاس JCheckBox در جاوا
جلسه هشتم | کلاس JRadioButton در جاوا
جلسه نهم | کلاس JComboBox در جاوا
جلسه دهم | کلاس JTabel در جاوا
جلسه یازدهم | کلاس JOptionPane در جاوا
جلسه دوازدهم | ساخت منو گرافیکی در جاوا
جلسه سیزدهم | کلاس JPopupMenu در جاوا
جلسه چهاردهم | کلاس JSeparator در جاوا
جلسه پانزدهم | کلاس JProgressBar در جاوا
جلسه شانزدهم | کلاس JTree در جاوا
جلسه هفدهم | کلاس JColorChooser
جلسه هجدهم | کلاس JSlider در جاوا
جلسه نوزدهم | کلاس JSpinner در جاوا
جلسه بیستم | کلاس JPanel در جاوا
جلسه بیست و یکم | کلاس JFileChooser در جاوا
جلسه بیست و دوم | کلاس JLayeredPane در جاوا
جلسه بیست و سوم | استفاده از ToolTip در جاوا
جلسه بیست و چهارم |تغییر آیکون Frame در جاوا
جلسه بیست و پنجم | کلاس Graphics در جاوا
جلسه بیست و ششم | نمایش تصویر در Swing

خب در ادامه مبحث گرافیک در جاوا در خدمت شما عزیزان هستیم. در این جلسه قصد داریم کلاس JTree را بررسی کنیم.
همان طور که از اسم این کلاس پیداست برای نمایش داده ها به صورت ساختار درختی یا بصورت سلسله مراتبی از این اجزای گرافیکی در جاوا استفاده می کنیم. JTree یک component یا اجزای گرافیکی پیچیده است. همان طور که گفتیم داده ها در اجزای گرافیکی JTree به صورت سلسله مراتبی یا درختی می باشد به این صورت که یک گره ریشه داریم که پدر تمام گره های درخت می باشد. برای درک بهتر کلاس JTree تصویر(1) را مشاهده کنید:
.png)
همان طور که در تصویر(1) مشاهده می کنید شاهده یک ساختار درختی یا سلسله مراتبی می باشیم. به این صورت که گره ای که بالای سایر گره ها قرار گرفته به عنوان ریشه یا پدر تمام گره های درخت درنظر می گیریم .می دونم الان سوالات زیادی براتون پیش اومده! الان یکی یکی بهشون می پردازیم! اولین سوال گره چیه؟! به عضوی از یک درخت گره می گویند. حالا به عضوی که بالای سر همه گره ها قرار گرفته است ریشه درخت می گویند و از طرفی چون ریشه بالای سایر گره های درخت قرار گرفته به آن پدر همه گره های درخت هم می گویند. در تصویر(1) عضوی که نام آن java هستش بالای سر سایر اعضا (گره های) درخت قرار گرفته است پس java ریشه و پدر سایر گره ها در این ساختار درخت می باشد.
• سازنده های پرکاربرد کلاس JTree :
| توصیف | سازنده |
| ایجاد یک JTree با یک مدل نمونه. | JTree() |
| ایجاد یک JTree با هر عنصر از آرایه مشخص به عنوان فرزند یک گره ریشه جدید | JTree(Object[] value) |
| ایجاد یک JTree که پارامتر root که از نوع TreeNode می باشد به عنوان ریشه درخت نمایش داده می شود. | JTree(TreeNode root) |
خب توضیحات رو بی خیال ، مثال بچسبیم!!! مثال:
| package javalike ; import javax.swing.*; import javax.swing.tree.DefaultMutableTreeNode; public class TreeExample { JFrame f; TreeExample() { f = new JFrame(); DefaultMutableTreeNode style = new DefaultMutableTreeNode("Style"); DefaultMutableTreeNode color = new DefaultMutableTreeNode("color"); DefaultMutableTreeNode font = new DefaultMutableTreeNode("font"); style.add(color); style.add(font); DefaultMutableTreeNode red = new DefaultMutableTreeNode("red"); DefaultMutableTreeNode blue = new DefaultMutableTreeNode("blue"); DefaultMutableTreeNode black = new DefaultMutableTreeNode("black"); DefaultMutableTreeNode green = new DefaultMutableTreeNode("green"); color.add(red); color.add(blue); color.add(black); color.add(green); JTree jt = new JTree(style); f.add(jt); f.setSize(200, 200); f.setVisible(true); } public static void main(String[] args) { new TreeExample(); } } |
.png)
خروجی: تصویر(2)توضیحات:
| DefaultMutableTreeNode style = new DefaultMutableTreeNode("Style"); DefaultMutableTreeNode color = new DefaultMutableTreeNode("color"); DefaultMutableTreeNode font = new DefaultMutableTreeNode("font"); |
• کلاس DefaultMutableTreeNode برای ایجاد گره (node) در یک درخت (JTree) استفاده می شود.
• خب در کدهای بالا گره هایی با شی ساختن از کلاس DefaultMutableTreeNode ایجاد کرده ایم.
• شی های style،color،font گره های درخت ما را تشکیل می دهند.
| style.add(color); style.add(font); |
• در کد بالا گره style گره color را به خودش اضاف می کند با این کار گره color زیرِ گره style قرار می گیرد به عبارتی گره style پدر گره color می شود. همچنین گره style گره font را به خودش اضاف میکند با این کار گره style پدر گره font خواهد شد.
• تا اینجا گره style ریشه درخت و پدر دو گره color و font می باشد.
| DefaultMutableTreeNode red = new DefaultMutableTreeNode("red"); DefaultMutableTreeNode blue = new DefaultMutableTreeNode("blue"); DefaultMutableTreeNode black = new DefaultMutableTreeNode("black"); DefaultMutableTreeNode green = new DefaultMutableTreeNode("green"); |
• خب چهار گره دیگر برای درخت ایجاد می کنیم.
| color.add(red); color.add(blue); color.add(black); color.add(green); |
• چهار گره ایجاد شده را به گره color اضاف می کنیم.
• خب گره color پدر و ریشه چهار گره red ، blue ، black و green قرار میگیرد. چرا که تمام گره های مذکور پایین گره color قرار می گیرند.
• از طرفی چون گره style تا اینجا پدر گره color هستش و همچنین ریشه درخت ، پس می توان گفت گره style پدر گره های red ، blue ، black و green نیز می باشد.
| JTree jt = new JTree(style); |
• خب برای ایجاد ساختار درختی خود از کلاس JTree شی ایجاد می کنیم.
• گره ای که جایگزین پارامتر سازنده کلاس JTree می شود در جایگاه ریشه و پدر سایر گره های درخت قرار میگیرد.
• خب style هم طوری ایجادش کردیم که شایسته قرار گیری در جایگاه ریشه درخت می باشد.
| 1. f.add(jt); 2. f.setSize(200, 200); 3. f.setVisible(true); |
1. افزودن شی jt که از نوع کلاس JTree هستش ، به فریم برنامه. 2. تنظیم سایز فریم 3. صدا زدن این متد برای نمایش فریم و سایر اجزای گرافیکی الزامی می باشد.
• تا الان بیش از 1000 صفحه آموزش فارسی رایگان جاوا تهیه کرده ایم.برای رشد محتوای با کیفیت آموزشی ما را حمایت کنید.پیروز و موفق باشید
این جلسه آموزشی را می توانید بصورت کتاب الکترونیکی (PDF شده) در لینک زیر دریافت کنید.این جلسه آموزشی را بصورت کامل و مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید)

لینک دانلود
.png)
.png)

