در این قسمت تیم کدگیت را با آموزش JComboBox در جاوا همراهی کنید. در این آموزش ابتدا به معرفی JComboBox در جاوا خواهیم پرداخت سپس با زدن دو مثال، کلاس JComboBox را معرفی خواهیم کرد. پیش نیازهای این آموزش شامل موارد زیر است:
- JLable در جاوا
- JButton در جاوا
- شی گرایی در جاوا
- JFrame در جاوا
JComboBox در جاوا
JComboBox در جاوا لیستی از آیتم ها را برای انتخاب به صورت Dropdown در اختیار کاربر قرار میدهد. کاربر میتواند فقط یکی از گزینه ها را انتخاب کند. JComboBox در نرم افزارهای امروزه بسیار کاربرد دارد.
کلاس JComboBox در جاوا متدهای زیادی را در خود دارد که هر کدام میتواند در زمان لازم از آن استفاده کرد. در زیر لیستی از مهمترین متدها و کاربرد آنها آورده شده است:
- ()JComboBox : این متد Constructor است که یک JComboBox را میسازد.
- (JComboBox(Object[] items : متد Constructor با ورودی لیستی از آیتمها به صورت آرایه.
- (addItem(Object anObject : اضافه کردن یک آیتم به لیست.
- (removeItem(Object anObject : حذف کردن آیتم از لیست.
- ()removeAllItems : حذف تمامی آیتمهای لیست.
- (getItemAt(int itemIndex : دریافت نام آیتم بخصوص در لیست.
- ()getSelectedIndex : دریافت اندیس آیتم انتخاب شده در JComboBox.
مثال اول JComboBox در جاوا
در مثال اول JComboBox، یک لیستی از کشورهای مختلف را در آرایه ریخته سپس آن را در JComboBox قرار میدهیم. کد مثال مذکور به صورت زیر میباشد:
public class ComboBoxExample {
JFrame f;
ComboBoxExample() {
f = new JFrame("ComboBox Example");
String country[] = { "Iran", "Aus", "U.S.A", "England", "Newzealand" };
JComboBox cb = new JComboBox(country);
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();
}
}
همانطور که در کد بالا مشاهده میکنید ابتدا یک آرایه به نام country را ساخته سپس یک JComboBox ساخته و با استفاده از Cosntructor آن کلاس، آرایه را به عنوان لیست به ComboBox دادیم. در آخر آن را به Frame خود اضافه کردیم.

مثال دوم JComboBox در جاوا
در مثال دوم JComboBox یک Lable و یک Button به Frame خود اضافه میکنیم و هنگام کلیک بر روی Button، نوشته در Lable قرار گرفته و آیتمی که در JComboBox انتخاب شده است را چاپ میکند. کد این مثال به صورت زیر میباشد:
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 Selected: "
+ cb.getItemAt(cb.getSelectedIndex());
label.setText(data);
}
});
}
public static void main(String[] args) {
new ComboBoxExample();
}
}
کد مثال دوم مانند مثال اول میباشد و یک متد به نام addActionListener برای هنگام کلیک بر روی Button اضافه شده است. در این متد با استفاده از متد getItemAt آیتم انتخاب شده را دریافت و متن Lable را تنظیم کردهایم (دقت کنید برای استفاده از متد getItemAt نیاز به اندیس آیتم انتخاب شده داریم پس از متد getSelectedIndex برای یافتن آن استفاده کردیم).
در آخر پیشنهاد میکنیم آموزشهای گذشته گرافیک در جاوا را مطالعه کنید تا با بعضی از متدها و کلاسهایی مانند Jlable و JButton آشنایی پیدا کنید.
