کلاس JComboBox جزیی از پکیج Swing در جاوا است که یک لیست کشویی انتخابی را ارائه میکند و به کاربر اجازه
می دهید یک آیتم از میان لیست موجود را انتخاب کند. برای درک بهتر شکل ظاهری این اجزای گرافیکی تصویر(1) را مشاهده کنید:
• در تصویر(1) بخش قرمز رنگ یک ComboBox را نشان میدهد.همان طور که در تصویر(1) مشاهده میکنید یک ComboBox
یک لیست کشویی است که از چند آیتم تشکیل شده است و ما تنها میتوانیم یک آیتم را از میان لیست انتخاب کنیم.
سازنده های پرکاربرد کلاس JComboBox:
توصیف | سازنده |
ایجاد یک JComboBox با مدل داده ای پیش فرض | JComboBox() |
ایجاد یک JComboBox که لیست آن را عناصر مشخصی از یک آرایه تشکیل میدهد. | JComboBox(Object[] items) |
متدهای پرکاربرد کلاس JComboBox:
توصیف | متد |
این متد یک آیتم را به لیستی از آیتم های JComboBox اضاف میکند. | void addItem(Object anObject) |
این متد یک آیتم را از لیستی از آیتم های JComboBox حذف میکند | void removeItem(Object anObject) |
این متد همه آیتم ها را از لیست حذف میکند | void removeAllItems() |
این متد تعیین میکند که ایا لیست کشویی (JComboBox) ایجاد شده قابل ویرایش باشد یا خیر.
اگر پارامتر متد true باشد قابل ویرایش است در غیر این صورت اگر false بود غیر قابل ویرایش است. | void setEditable(boolean b) |
برای افزودن یک ActionListener به لیست کشویی ما کاربر دارد.
| void addActionListener(ActionListener a) |
برای افزودن یک ItemListener به لیست کشویی کاربرد دارد.
| void addItemListener(ItemListener i) |
خب روش پیاده سازی کلاس JComboBox در جاوا را بررسی میکنیم:
• ابتدا یک کلاس با نام ComboBoxExample تعریف میکنیم:
public class ComboBoxExample { } |
• قصد داریم اجزای گرافیکی خود را در سازنده کلاس ایجاد کنیم برای این کار سازنده ای در بدنه کلاس خود پیاده سازی میکنیم:
public class ComboBoxExample { } } |
import javax.swing.*; public class ComboBoxExample { ComboBoxExample() { } } |
• کاراکتر * یعنی این که در برنامه خود میتوانیم از همه کلاس های موجود در پکیج Swing استفاده کنیم.
• حال در بدنه سازنده کلاس اجزای گرافیکی خود را تعریف میکنیم. همان طور که برای ساختن یک خانه ابتدا اسکلت خانه را میسازند و
بعد سایر مصالح را به آن اضاف میکنند! در ساخت برنامه کاربردی در جاوا نیز ابتدا یک فریم که حکم اسکلت برنامه دارد را ایجاد میکنیم:
import javax.swing.*; public class ComboBoxExample { ComboBoxExample() { JFrame f = new JFrame("ComboBox Example"); } } |
• یک ارایه تعریف و مقداردهی اولیه میکنیم، عناصر این آرایه آیتم های لیست JComboBox ما را تشکیل خواهد داد:
import javax.swing.*; public class ComboBoxExample { ComboBoxExample() { JFrame f = new JFrame("ComboBox Example"); String city[]={"Borazjan","Bushehr","Shiraz","Tabriz","Tehran"}; } } |
• حال یک شی از کلاس JComboBox ایجاد میکنیم:
import javax.swing.*; public class ComboBoxExample { ComboBoxExample() { JFrame f = new JFrame("ComboBox Example"); String city[]={"Borazjan","Bushehr","Shiraz","Tabriz","Tehran"}; JComboBox cb=new JComboBox(city); } } |
• حالا مختصات و ابعاد لیست کشویی خود را در فریم تعیین میکنیم:
import javax.swing.*; public class ComboBoxExample { ComboBoxExample() { JFrame f = new JFrame("ComboBox Example"); String city[]={"Borazjan","Bushehr","Shiraz","Tabriz","Tehran"}; JComboBox cb=new JComboBox(city); cb.setBounds(50, 50,90,20); } } |
• در این مرحله شی cb را با صدا زدن متد add به frame خود اضافه میکنیم و چون قصد نداریم از طرح بندی خاصی برای اجزای گرافیکی
خود استفاده کنیم بعد از صدا زدن متد setLayout مقدار پارامتر آن را null قرار میدهیم. :
import javax.swing.*; public class ComboBoxExample { ComboBoxExample() { JFrame f = new JFrame("ComboBox Example"); String city[]={"Borazjan","Bushehr","Shiraz","Tabriz","Tehran"}; JComboBox cb=new JComboBox(city); cb.setBounds(50, 50,90,20); f.add(cb); f.setLayout(null); } } |
• تعیین سایز فریم برنامه و نمایش فریم و تمام اجزای گرافیکی :
import javax.swing.*; public class ComboBoxExample { ComboBoxExample() { JFrame f = new JFrame("ComboBox Example"); String city[]={"Borazjan","Bushehr","Shiraz","Tabriz","Tehran"}; JComboBox cb=new JComboBox(city); cb.setBounds(50, 50,90,20); f.add(cb); f.setSize(400,500); f.setVisible(true); } } |
در گام اخر برای اجرای برنامه متد main را در بدنه کلاس پیاده سازی کرده و از کلاس خود شی ایجاد میکنیم و برنامه را کامپایل و اجرا میکنیم:
package swing_javalike ; import javax.swing.*; public class ComboBoxExample { JFrame f; ComboBoxExample(){ f=new JFrame("ComboBox Example"); String city[]={"Borazjan","Bushehr","Shiraz","Tabriz","Tehran"}; JComboBox cb=new JComboBox(city); cb.setBounds(50, 50,90,20); f.add(cb); f.setLayout(null); f.setSize(400,500); f.setVisible(true); } public static void main(String[] args) { new ComboBoxExample(); } } |
خروجی برنامه: تصویر(2)
• همان طور که در تصویر(2) مشاهده میکنید یک لیست کشویی ایجاد کردیم که آیتم های آن عناصر یک ارایه میباشند.
• در این برنامه هیچ اکشن و عملی را برای لیست کشویی خود تعریف نکردیم.
مثال:
package javalike ; import javax.swing.*; import java.awt.event.*; public class ComboBoxExample { JFrame f; ComboBoxExample() { f = new JFrame("ComboBox Example"); final JLabel label = new JLabel(); label.setHorizontalAlignment(JLabel.CENTER); label.setSize(400, 100); JButton b = new JButton("Show"); b.setBounds(200, 100, 75, 20); String languages[] = { "C", "C++", "C#", "Java", "PHP" }; final JComboBox cb = new JComboBox(languages); cb.setBounds(50, 100, 90, 20); f.add(cb); f.add(label); f.add(b); f.setLayout(null); f.setSize(350, 350); f.setVisible(true); b.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String data = "Programming language select ed: " + cb.getItemAt(cb.get select ed index ()); label.setText(data); } }); } public static void main(String[] args) { new ComboBoxExample(); } } |
خروجی: هنگام اجرای برنامه خروجی به صورت تصویر(3) است:
• طبق تصویر(3) ما یک لیست کشویی داریم که آیتم های آن را نام های زبان برنامه نویسی تشکیل داده است.با انتخاب یکی
از نام ها و کلیک کردن روی دکمه show پیامی در label برنامه در بالا فریم نمایش داده میشود.ما آیتم Java را انتخاب
می کنیم و دکمه show: تصویر(4)
توضیحات:
ما اکثر دستوراتی که در این کد هستش را در این جلسه و جلسات قبل بررسی کردیم. در اینجا دستورات زیر از مثال بالا را بررسی میکنیم:
1. b.addActionListener(new ActionListener() { 2. public void actionPerformed(ActionEvent e) { 3. String data = "Programming language select ed: " 4. + cb.getItemAt(cb.get select ed index ()); 5. label.setText(data); 6. } 7. }); |
1. برای اضاف کردن یک ActionListener به لیست کشویی استفاده میشود.برای افزودن یک ActionListener به لیست کشویی،
یک شی بصورت مستقیم از اینترفیس ActionListener ایجاد میکنیم .در بدنه این اینترفیس، متد actionPerformed قرار دارد که وظیفه
دریافت رویدادها را برعهده دارد مثلا وقتی روی یکی آیتم های لیست کشویی کلیک میکنیم یک رویداد رخ میدهد که توسط
متد actionPerformed دریافت میشود و دستورات درون بدنه این متد اجرا میشود.
3. یک متغیر از نوع String تعریف کرده که درون آن متن "Programming language select ed:" به همراه نام آیتم مورد نظر را میریزد.
آیتم های درون یک لیست کشویی هر کدام یک ایندکس دارند که نشان دهنده مکان آنها در بین آیتم های لیست کشویی است.
مثل آرایه ها ،ایندکس آیتم های لیست کشویی از شماره 0 شروع میشود. اولین آیتم از بالای لیست دارای ایندکس شماره 0 است
و به ترتیب آیتم دوم از بالا دارای ایندکس شماره 1 و آیتم سوم دارای ایندکس شماره 2 و....آیتم n ام لیست کشویی دارای ایندکس
شماره n-1 است. برای درک بهتر تصویر(5) را مشاهده کنید:
این جلسه آموزشی را میتوانید بصورت کتاب الکترونیکی (PDF شده) در لینک زیر دریافت کنید.
این جلسه آموزشی را بصورت کامل و مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید)
لینک دانلود
نشر این مطلب با ذکر منبع (لینک سایت) بلامانع است.
برای با خبر شدن از جدیدترین مطالب آموزشی جاوا عضو کانال تلگرام ما شوید.
بستن *نام و نام خانوادگی * پست الکترونیک * متن پیام |
دوره های آموزشی برنامه نویسی
انجام پروژه های برنامه نویسی
تدریس خصوصی برنامه نویسی
بیش از 7 سال از فعالیت جاواپرو میگذرد
جاواپرو دارای مجوز نشر دیجیتال از وزارت فرهنگ و ارشاد اسلامی است
جهت ارتباط مستقیم با جاواپرو در واتساپ و تلگرام :
09301904690
بستن دیگر باز نشو! |