Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

JComboBox และ JList ใน Java แตกต่างกันอย่างไร


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();
   }
}

ผลลัพธ์

JComboBox และ JList ใน Java แตกต่างกันอย่างไร

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();
   }
}

ผลลัพธ์

JComboBox และ JList ใน Java แตกต่างกันอย่างไร