Java 中 JComboBox 和 JList 的區別是什麼?
一個JComboBox是一個顯示下拉列表的元件,併為使用者提供選項,使用者可以一次僅選擇一個專案,而一個JList則向用戶顯示多個專案(行),並提供一個選項讓使用者選擇多個專案。
JComboBox
- 一個JComboBox可以是可編輯的或只讀的。
- ActionListener、ChangeListener或ItemListener介面可用於處理使用者對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();
}
}輸出
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP