خب در ادامه مبحث گرافیک در جاوا در خدمت شما عزیزان هستیم. در این جلسه قصد داریم کلاس JTree را بررسی کنیم.
همان طور که از اسم این کلاس پیداست برای نمایش داده ها به صورت ساختار درختی یا بصورت سلسله مراتبی از این اجزای گرافیکی در جاوا استفاده می کنیم. JTree یک component یا اجزای گرافیکی پیچیده است. همان طور که گفتیم داده ها در اجزای گرافیکی JTree به صورت سلسله مراتبی یا درختی می باشد به این صورت که یک گره ریشه داریم که پدر تمام گره های درخت می باشد. برای درک بهتر کلاس JTree تصویر(1) را مشاهده کنید:
همان طور که در تصویر(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(); } } |
خروجی: تصویر(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 صفحه آموزش فارسی رایگان جاوا تهیه کرده ایم.برای رشد محتوای با کیفیت آموزشی ما را حمایت کنید.
پیروز و موفق باشید
بستن *نام و نام خانوادگی * پست الکترونیک * متن پیام |
سایت جاواپرو با هدف تولید محتوای آموزشی با کیفیت رایگان در زمینه برنامه نویسی جاوا و اندروید فعالیت خود را در سال 1395 شروع کرد.امیدواریم بتوانیم دامنه گسترده تری از موضوعات پر نیاز در زمینه برنامه نویسی جاوا و اندروید را البته با حمایت شما پوشش دهیم.
دفتر مرکزی:بوشهر-برازجان-خیابان ماحوزی-سه راه اعتصامی
تلفن تماس: 09301904690