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