menusearch
javapro.ir

♨️ جلسه اول - معرفی Swing در جاوا

جستجو
شنبه ۳۱ اردیبهشت ۱۴۰۱ | ۱۰:۳۶:۵
۱۳۹۶/۲/۱۲ سه شنبه
(29)
(0)
♨️ جلسه اول - معرفی Swing در جاوا
♨️ جلسه اول - معرفی 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

 

 

آموزش رایگان گرافیک در زبان برنامه نویسی جاوا را در سایت جاواپرو دنبال کنید

 

♨️ جلسه اول - معرفی Swing در جاوا

 

 

جاوا مجموعه ای از کتابخانه ها را برای ایجاد رابط کاربری گرافیکی فراهم کرده است.


این آموزش برای کسانی که قصد دارند برنامه‌‌‌‌های کاربردی ویندوزی و بازی با استفاده از زبان جاوا طراحی کنند بصورت ساده با گام‌‌‌‌های آسان تهیه شده است.


ما در این آموزش،گرافیک جاوا را در محیط ایکلیپس کار می‌کنیم.

 


پیشنیاز‌‌‌‌های مبحث 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 می گوییم!

خب ما برای این که یک اجزای گرافیکی یا 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

   }
}

•    برای نوشتن یک برنامه گرافیکی با استفاده از Swing نیاز است که ابتدا پکیج زیر را import کنیم:
import javax.swing.*;

•    خب بعدش یک کلاس ایجاد می‌کنیم و در متد main یک شی از کلاس JFrame ایجاد می‌کنیم.
JFrame f = new JFrame();

در ادامه قصد داریم اندازه frame خود را مشخص کنیم برای این کار از متد setsize استفاده می‌کنیم:
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);
   }
}

خب برای این که frame ما هنگام اجرای برنامه نمایش داده شود نیاز است که متد setVisible را صدا زده و مقدار پارامتر آن را true کنیم:
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
   }
}

•    ما از کلاس JButton شی ای با نام b ایجاد کرده ایم. مقدار پارامتر سازنده ان را “clike” گذاشته ایم.حالا باید button خود را به 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
       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 شده) در لینک زیر دریافت کنید.
این جلسه آموزشی را بصورت کامل و مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید)

آموزش آسان و ساده زبان برنامه نویسی جاوا
لینک دانلود

 

 


نشر این مطلب با ذکر منبع (لینک سایت) بلامانع است.
برای با خبر شدن از جدیدترین مطالب آموزشی جاوا عضو کانال تلگرام ما شوید.
telegraminstagram
نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

3 نظر
محسن شایسته
جمعه ششم اسفند ۰۰
پاسخ
()
()
محسن شایسته
متد setVisible چرا براي شي b استفاده نشده؟
بهنام خوش لهجه
دوشنبه شانزدهم تیر ۹۹
پاسخ
(2)
()
بهنام خوش لهجه
سلام، خدا قوت به شما و دست اندرکاران، اعم از تنظيم کنندگان سامانه و نويسندگان محترم. واقعاً از برزخ روبرو شدن با جاوا نجات يافتم. و چقدر خوب و به آساني و با اعتماد به نفس مي توانم سراغ جاوا بروم. تمام مراحل روبرو شدن با جاوا و نصب برنامه هاي لازم. و توضيح در مورد جاوا و چگونگي نوشتن برنامه ها. واقعاً خوب بود. خدا به شما توفيق روز افزون عنايت فرمايد. متشکرم که اين قدر خوب مبتديها در جاوا را در ک کرديد
پاسخ مدیر سایت
سلام.خوش حالم....ازنظرلطف و محبت شما ممنونم
پاسخ مدیر سایت
ali
شنبه هفتم بهمن ۹۶
پاسخ
(7)
()
ali
با سلام اموزش خوبي بود ولي قسمت بعدي کجاست؟؟ اگه قراره بخريمش بازم لينکشو پيدا نميکنم
پاسخ مدیر سایت
با سلام.جلسات آموزش گرافیک در جاوا رو می‌توانید در لینک زیر به صورت رایگان مشاهده کنیدhttps://javapro.ir/گرافیک-در-جاوا
پاسخ مدیر سایت
هدر سایت
زودتر از دیگران از جدیدترین مطالب آموزشی برنامه نویسی جاواپرو اطلاع پیدا کن
 شاید برای شما کم اهمیت باشد; اما حمایت مالی به جاواپرو جان می‌دهد
سوالات متداول برنامه نویسی