Java 中 JComboBox 和 JList 的區別是什麼?


一個JComboBox是一個顯示下拉列表的元件,併為使用者提供選項,使用者可以一次僅選擇一個專案,而一個JList則向用戶顯示多個專案(行),並提供一個選項讓使用者選擇多個專案

JComboBox

  • 一個JComboBox可以是可編輯的只讀的
  • ActionListenerChangeListenerItemListener介面可用於處理使用者對JComboBox的操作。
  • getSelectedItem()方法可用於從組合框中獲取選定的或輸入的專案。
  • setEditable()方法可用於開啟或關閉組合框的文字輸入部分。
  • 我們可以從陣列或向量建立一個JComboBox例項。大多數情況下,我們將使用ComboBoxModel來操作組合框的元素。

示例

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

  • 一個JList是一個允許使用者選擇單選多選的元件。
  • JList類本身不支援捲軸。為了新增捲軸,我們必須將JScrollPane類與JList類一起使用。然後,JScrollPane會自動管理捲軸。
  • getSelectedIndex()方法返回第一個選中專案的索引,如果未選中任何專案則返回-1,而getSelectedIndexes()方法返回一個包含每個選中專案索引的陣列。如果未選中任何專案,則陣列為空。
  • getSelectedValue()返回第一個選定的專案,如果未選中任何專案則返回null。
  • DefaultListModel類提供了一個列表模型的簡單實現,可用於管理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();
   }
}

輸出

更新時間: 2020年2月7日

3K+ 瀏覽量

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.