کل مفاهیم برنامه نویسی جاوا سایت جاواپرو در یک نگاه
سرفصل های دوره برنامه نویسی جاوا
پروژه ها و نمونه مثال های برنامه نویسی جاوا
جاوا مجموعه ای از کتابخانه ها را برای ایجاد رابط کاربری گرافیکی فراهم کرده است.
این آموزش برای کسانی که قصد دارند برنامه های کاربردی ویندوزی و بازی با استفاده از زبان جاوا طراحی کنند بصورت ساده با گام های آسان تهیه شده است.
ما در این آموزش،گرافیک جاوا را در محیط ایکلیپس کار می کنیم.
پیشنیازهای مبحث Swing در جاوا :
قبل از شروع مطالعه این مبحث شما باید با مباحث پایه ای جاوا ، کار با ویرایشگرهای (IDE) جاوا،نحوه اجرای برنامه و... آشنایی داشته باشید.
اگه اولین بار است که قصد یادگیری زبان جاوا را دارید لطفا از این مبحث صرف نظر کرده و از جلسات مقدماتی جاوا که در کانال تلگرام javalike و سایت www.javapro.irاز صفر آموزش داده شده است شروع به یادگیری کنید.
گرافیک در جاوا:
برای ایجاد برنامه های کاربردی گرافیکی مبتنی بر ویندوز ،جاوا دو پکیج در اختیار ما گذاشته است ابتدا پکیج AWT و بعدش پکیج Swing ، این دو پکیج شباهت ها و تفاوت هایی باهم دارند، از آن جهتی که پکیج Swing جدیدتر هستش ما قصد داریم گرافیک در جاوا با استفاده از پکیج Swing را کار کنیم هر چند که در هنگام نوشتن پروژه اگر نیاز به بعضی از مباحث AWT داشتیم بخش های مورد نیاز آن را آموزش خواهیم داد.
برای نوشتن برنامه های گرافیکی مبحث javafx هم هستش که فعلا ما باهاش کاری نداریم!
در پکیج javax.swing کلاس هایی نظیر JButton, JTextField, JTextArea, JRadioButton, JCheckbox JMenu, JcolorChooser و... وجود دارد که به ما در نوشتن یک برنامه گرافیکی ویندوزی کمک می کنند.
برای درک بهتر این کلاس ها در پکیج javax.swing برنامه ماشین حساب در کامپیوتر را باز می کنیم:تصویر(1)
همان طور که در تصویر(1) مشاهده می کنید این برنامه ماشین حساب از چندین دکمه بر انتخاب عدد یا عملیات مورد نظر ، یک صفحه برای نمایش اعداد و نتیجه عملیات،یک منو که از بخش های متنوعی تشکیل شده و هر یک کار خاصی را انجام می دهند تشکیل شده است.همه اجزای این ماشین حساب از دکمه تا اون صفحه و منوها خود یک کلاس مجزا هستند که در برنامه ماشین حساب خود استفاده کرده ایم ، مثلا کلاس JButton در جاوا کار دکمه های ماشین حساب را می توانند انجام دهند و...
بگذریم تنها هدف از این مثال پیدا کردن یک ذهنیت درمورد اجزای گرافیکی در جاوا بود در ادامه بیشتر به این اجزای گرافیکی می پردازیم.
سلسله مراتب کلاس های درون پکیج Swing را در زیر مشاهده می کنید:تصویر(2)
در تصویر(2) کلاس Object را مشاهده می کنید که پدر همه کلاس ها در جاوا می باشد.همچنین اجزای گرافیکی در جاوا که هر کدام یک کلاس مجزا می باشند.ما با استفاده از همین کلاس هایی که در تصویر(2) مشاهده می کنید برنامه گرافیکی خود را می تونیم طراحی کنیم.
نکته بسیار مهم : یادگیری مبحث گرافیک در جاوا به صورت تئوری زیاد جالب نیست!!! از جهتی خب باید تئوری ها هم گفت!!! اما اصلا نگران نباشید! بهترین راه یادگیری مفهوم گرافیک در جاوا بررسی مثال ها و تمرینات کدنویسی در این زمینه می باشد، پس اگر از تئوری هایی که میگم گیج کننده است اصلا نگران نشوید ما با مثال سعی می کنیم بصورت ساده این مبحث رو آموزش دهیم.
کلاس Component :
یکی از اجزای گرافیکی شکل دهنده برنامه ویندوزی ما می باشد.
نکته: ما به هر یک از اجزای گرافیکی در جاوا یک component می گوییم.مثلا کلاس JButton یک component می باشد.
متدهای متداول این کلاس که بصورت گسترده استفاده می شود بصورت زیر می باشد:
میدونم مطمئنا گمراه کننده است ، خودم هم قبول دارم، تنها پیشنهادی که برای یادگیری این مبحث براتون دارم به مثال هایی که براتون خواهیم زد توجه کنید. :)))
یک توضیحی از جدول بالا براتون میگم ، همان طور که میدانید یک برنامه گرافیکی از اجزای گرافیکی تشکیل شده است! اجزای گرافیکی چی هستند؟! اجزای گرافیکی همان دکمه ها، لیبل ها،منوها ،دکمه های رادیویی و... که تاحالا در برنامه های موجود در کامپیوتر زیاد دیدیم!! به هر یک از این اجزای گرافیکی یک component می گوییم!
خب ما برای این که یک اجزای گرافیکی یا component را در برنامه خود استفاده کنیم نیاز هست ابتدا این اجزای گرافیکی را اضافه کنیم! مثلا ما یک فریم داریم ، قصد داریم یک دکمه یا باتن را به فریم خود اضافه کنیم خب با استفاده از متد add آن را به فریم مون اضاف می کنیم که به این کار میگن اضافه کردن یک component به component دیگر! بعد نیاز هست اندازه این دکمه را مشخص کنیم بعدش طرح بندی این دکمه را مشخص کنیم یعنی بگیم کجای فریم قرار بگیر بعدش با true کردن مقدار پارامتر متد setVisible دکمه یا component ما در فریم نمایش داده می شود.
بازم نگران نباشید!!!! میریم سراغ مثال :)))
مثال های Swing :
نکته: دوستان گرافیک در جاوا مفاهیمش خیلی زیاد است و همه این ها رو نمیشه در قالب یک جلسه اورد! خب چطور یادشون بگیریم؟! ما پرکاربردترین و متداول ترین مفاهیم گرافیک در جاوا را آموزش خواهیم داد ،سایر مفاهیم در قالب پروژه اگه بهشون نیاز پیدا کردید می تونید یاد بگیرید یعنی تا زمانی که نیاز پیدا نکردید نیازی نیست بر کل مفاهیم گرافیک در جاوا مسلط باشید.
پس مهم ترین اساس یادگیری نیاز است!
خب ما میخواهیم یک برنامه گرافیکی را طراحی کنیم! اولین اجزای گرافیکی که نیاز داریم frame است ، frame کارش چیه؟ ما تمام اجزای گرافیکی یا همون component ها رو روی frame سوار می کنیم! چیزی شبیه تنه موتورسیکلت! که تمای اجزای موتورسیکلت بر روی تنه آن سوار و چسبیده می شود!!
• برای ایجاد frame در جاوا دو راه وجود دارد:
1. ایجاد یک شی از کلاس Freme
2. به ارث بردن کلاس Frame
• می توانیم اجزای گرافیکی خود را درون متد main ، constructor یا هر متد دیگری در کلاس خود ایجاد کنیم.
• یک مثال ساده از یک برنامه گرافیکی که از پکیج Swing استفاده شده است.
مثال:در برنامه زیر قصد داریم یک Frame ایجاد کنیم، برای این کار بصورت زیر عمل می کنیم:
package swing_javalike ; import javax.swing.*; public class FirstSwingExample { public static void main(String[] args) { JFrame f = new JFrame();// creating instance of JFrame } } |
import javax.swing.*; |
JFrame f = new JFrame(); |
package swing_javalike ; import javax.swing.*; public clas s FirstSwingExample { public static void main(String[] args) { JFrame f = new JFrame();// creating instance of JFrame f.setSize(400, 500); } } |
• در کد بالا 400 عرض و 500 ارتفاع frame ما را مشخص می کند.
خب قصد مدیریت طرح بندی برای frame خود نداریم پس مقدار پارامتر متد setLayout را null می کنیم:
package swing_javalike ; import javax.swing.*; public class FirstSwingExample { public static void main(String[] args) { JFrame f = new JFrame();// creating instance of JFrame f.setSize(400, 500); f.setLayout(null); } } |
package swing_javalike ; import javax.swing.*; public class FirstSwingExample { public static void main(String[] args) { JFrame f = new JFrame();// creating instance of JFrame f.setSize(400, 500); f.setLayout(null); f.setVisible(true); } } |
• همان طور که مشاهده می کنید در کد بالا شی ای که از کلاس JFrame ایجاد کرده ایم f نام دارد.حال با شی f متدهای مربوطه را صدا زده ایم.
خروجی این برنامه بعد از کامپایل و اجرا بصورت زیر خواهد بود:تصویر(3)
خب ما تا اینجا frame یا بقولا تنه یا اسکلت برنامه خود را ایجاد کرده ایم.خب حالا میتونید سایر اجزای گرافیکی یا component های خود را به این frame خود اضافه کنیم. خب ما قصد داریم به frame خود یک دکمه یا باتن اضافه کنیم:
• برای اضافه کردن یک دکمه یا Buttonکافی است که از کلاس JButton شی ایجاد کنیم و شی ایجاد شده از آن را به frame خود اضافه کنیم:
package swing_javalike ; import javax.swing.*; public class FirstSwingExample { public static void main(String[] args) { JFrame f = new JFrame();// creating instance of JFrame f.setSize(400, 500); f.setLayout(null); f.setVisible(true); JButton b=new JButton("click");//creating instance of JButton } } |
package swing_javalike ; import javax.swing.*; public class FirstSwingExample { public static void main(String[] args) { JFrame f = new JFrame();// creating instance of JFrame f.setSize(400, 500); f.setLayout(null); f.setVisible(true); JButton b=new JButton("click");//creating instance of JButton f.add(b);//adding button in JFrame } } |
• از طریق شی b متد add را برای اضافه شدن button به frame صدا زده ایم.
• آیا کارمون تمام شده و باید برنامه رو اجرا کنیم؟! زیاد عجله نکنید! یک کار کوچک دیگه مونده!!! ما باید عرض و ارتفاع و مختصات قرار گیری دکمه (button) خود در frame را نیز مشخص کنیم! برای تعیین عرض و ارتفاع و مختصات یک اجزای گرافیکی در جاوا از متد setBounds استفاده می کنیم:
setBounds(x, y, width, height) ; |
• پارامتر x محور xها و پارامتر y محور yها می باشد.
• width عرض اجزای گرافیکی
• height ارتفاع اجزای گرافیکی
کد بالا رو بصورت زیر تغییر می دهیم:
package swing_javalike; import javax.swing.*; public class FirstSwingExample { public static void main(String[] args) { JFrame f = new JFrame();// creating instance of JFrame f.setSize(400, 500); f.setLayout(null); f.setVisible(true); JButton b=new JButton("click");//creating instance of JButton f.add(b);//adding button in JFrame b.setBounds(130,100,100, 40);//x axis, y axis, width, height } } | |
خروجی این برنامه بصورت زیر خواهد بود:تصویر(4)
• خب ما در این مثال با نحوه ایجاد یک frame و اضافه کردن یک component نظیر button را به آن آشنا شدیم. چطور بود؟! فقط از راه مثال گرافیک رو یادبگیرید تئوری گیج کننده است.
..............ادامه این جلسه آموزشی را در لینک زیر بصورت پی دی اف شده مرتب دانلود کنید.
این جلسه آموزشی را می توانید بصورت کتاب الکترونیکی (PDF شده) در لینک زیر دریافت کنید.
این جلسه آموزشی را بصورت کامل و مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید)
لینک دانلود
بستن *نام و نام خانوادگی * پست الکترونیک * متن پیام |
سایت جاواپرو با هدف تولید محتوای آموزشی با کیفیت رایگان در زمینه برنامه نویسی جاوا و اندروید فعالیت خود را در سال 1395 شروع کرد.امیدواریم بتوانیم دامنه گسترده تری از موضوعات پر نیاز در زمینه برنامه نویسی جاوا و اندروید را البته با حمایت شما پوشش دهیم.
دفتر مرکزی:بوشهر-برازجان-خیابان ماحوزی-سه راه اعتصامی
تلفن تماس: 09301904690