menusearch
javapro.ir
جستجو
۱۳۹۶/۲/۱۲ سه شنبه
(8)
(0)
جلسه اول - معرفی 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
نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

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

1 نظر
ali
شنبه هفتم بهمن ۹۶
پاسخ
()
()
ali
با سلام اموزش خوبي بود ولي قسمت بعدي کجاست؟؟ اگه قراره بخريمش بازم لينکشو پيدا نميکنم
پاسخ مدیر سایت
با سلام.جلسات آموزش گرافیک در جاوا رو می توانید در لینک زیر به صورت رایگان مشاهده کنیدhttp://javapro.ir/گرافیک-در-جاوا
پاسخ مدیر سایت
طراحی سایتطراحی سایتسایت سازسایت سازفروشگاه سازفروشگاه ساز