JComboBox เป็นส่วนประกอบที่แสดงรายการแบบเลื่อนลง และให้ตัวเลือกแก่ผู้ใช้ที่เราสามารถเลือกได้ครั้งละหนึ่งรายการเท่านั้น ในขณะที่ JList แสดง หลายรายการ (แถว) แก่ผู้ใช้และยังมีตัวเลือกให้ผู้ใช้เลือกหลายรายการ .
JComboBox
- A JComboBox สามารถ แก้ไขได้ หรือ อ่านอย่างเดียว .
- ActionListener , ChangeListener หรือ ItemListener อินเทอร์เฟซสามารถใช้เพื่อจัดการการกระทำของผู้ใช้ใน JComboBox .
- A getSelectedItem() สามารถใช้เพื่อรับรายการที่เลือกหรือป้อนจากกล่องคำสั่งผสมได้
- A setEditable() สามารถใช้เพื่อเปิดหรือปิดส่วนป้อนข้อความของกล่องคำสั่งผสมได้
- เราสามารถสร้าง JComboBox อินสแตนซ์จากอาร์เรย์หรือเวกเตอร์ โดยส่วนใหญ่ เราจะใช้ ComboBoxModel เพื่อจัดการองค์ประกอบของ ComboBox
ตัวอย่าง
import java.awt.*;
import javax.swing.*;
public class JComboBoxTest extends JFrame {
JComboBoxTest() {
setTitle("JComboBox Test");
String country[] = {"India","Aus","Singapore","England","Newzealand"};
JComboBox jcb = new JComboBox(country);
setLayout(new FlowLayout());
add(jcb);
setSize(300, 250);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new JComboBoxTest();
}
} ผลลัพธ์

JList
- A JList เป็นองค์ประกอบที่ช่วยให้ผู้ใช้สามารถเลือก การเลือกเดียว หรือ หลายตัวเลือก .
- A JList คลาสเองไม่รองรับแถบเลื่อน ในการเพิ่มแถบเลื่อน เราต้องใช้ JScrollPane คลาสร่วมกับ JList ระดับ. JScrollPane แล้วจัดการแถบเลื่อนโดยอัตโนมัติ
- A getSelectedIndex() วิธีคืนค่าดัชนีของรายการแรกที่เลือกหรือ –1 หากไม่ได้เลือกรายการใดและ getSelectedIndexes() method ส่งคืนอาร์เรย์ที่มีดัชนีของแต่ละรายการที่เลือก อาร์เรย์จะว่างเปล่าหากไม่มีการเลือกรายการใด
- A getSelectedValue() คืนค่ารายการที่เลือกรายการแรกหรือ null หากไม่ได้เลือกรายการใด
- A DefaultListModel class จัดเตรียมการใช้งานโมเดลรายการอย่างง่าย ซึ่งสามารถใช้เพื่อจัดการรายการที่แสดงโดย JList ควบคุม
ตัวอย่าง
import java.awt.*;
import javax.swing.*;
public class JListTest extends JFrame {
JListTest() {
setTitle("JList Test");
DefaultListModel dlm = new DefaultListModel();
dlm.addElement("India");
dlm.addElement("Aus");
dlm.addElement("England");
dlm.addElement("Singapore");
JList list = new JList();
list.setModel(dlm);
setLayout(new FlowLayout());
add(list);
setSize(350,275);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String args[]) {
new JListTest();
}
} ผลลัพธ์
