Computer >> Máy Tính >  >> Lập trình >> Java

Sự khác biệt giữa JComboBox và JList trong Java là gì?

A JComboBox là một thành phần hiển thị danh sách thả xuống và cung cấp cho người dùng các tùy chọn mà chúng tôi có thể chọn một và chỉ một mục tại một thời điểm trong khi một JList hiển thị nhiều mục (hàng) cho người dùng và cũng cung cấp một tùy chọn để cho phép người dùng chọn nhiều mục .

JComboBox

  • A JComboBox có thể có thể chỉnh sửa hoặc chỉ đọc .
  • Một ActionListener , ChangeListener hoặc ItemListener giao diện có thể được sử dụng để xử lý các hành động của người dùng trên JComboBox .
  • A getSelectedItem () có thể được sử dụng để lấy mục đã chọn hoặc đã nhập từ hộp tổ hợp.
  • A setEditable () có thể dùng phương pháp này để bật hoặc tắt phần nhập văn bản của hộp tổ hợp.
  • Chúng tôi có thể tạo JComboBox ví dụ từ một mảng hoặc vectơ. Hầu hết thời gian, chúng tôi sẽ sử dụng ComboBoxModel để thao tác các phần tử của ComboBox.

Ví dụ

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

Đầu ra

Sự khác biệt giữa JComboBox và JList trong Java là gì?

JList

  • A JList là một thành phần cho phép người dùng chọn một lựa chọn duy nhất hoặc nhiều lựa chọn .
  • A JList bản thân lớp không hỗ trợ thanh cuộn. Để thêm thanh cuộn, chúng tôi phải sử dụng JScrollPane cùng lớp với JList lớp. JScrollPane sau đó tự động quản lý thanh cuộn.
  • A getSelectedIndex () phương thức trả về chỉ mục của mục được chọn đầu tiên hoặc –1 nếu không có mục nào được chọn và getSelectedIndexes () phương thức trả về một mảng với chỉ mục của mỗi mục đã chọn. Mảng trống nếu không có mục nào được chọn.
  • A getSelectedValue () trả về mục đã chọn đầu tiên hoặc giá trị rỗng nếu không có mục nào được chọn.
  • Một DefaultListModel lớp cung cấp một triển khai đơn giản của mô hình danh sách, có thể được sử dụng để quản lý các mục được hiển thị bởi JList kiểm soát.

Ví dụ

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

Đầu ra

Sự khác biệt giữa JComboBox và JList trong Java là gì?