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(); } }
ผลลัพธ์