Java Swing JComboBox下拉列表框的用法(附带实例)
Swing 中提供两种列表组件,分别为下拉列表框(JComboBox)与列表框(JList)。下拉列表框与列表框都是带有一系列列表项的组件,用户可以从中选择需要的列表项。本节将详细讲解下拉列表框的使用。
初次使用 Swing 中的下拉列表框时,会感觉到 Swing 中的下拉列表框与 Windows 操作系统中的下拉列表框有一些相似,实质上二者并不完全相同,因为 Swing 中的下拉列表框不仅可以供用户从中选择列表项,也提供编辑列表项的功能。
下拉列表框是一个条状的显示区,它具有下拉功能,在下拉列表框的右侧存在一个倒三角形的按钮,当用户单击该按钮时,下拉列表框中的项目将会以列表的形式显示出来。
下拉列表框组件由 JComboBox 对象表示,JComboBox 类是 javax.swing.JComponent 类的子类。
JComboBox 类的常用构造方法如下:
JComboBox 类的常用方法及其说明如下表所示:
【实例】在下拉列表框中显示用户的所选内容。创建 JComboBoxTest 类,并继承 JFrame 类,窗体中有一个包含多个列表项的下拉列表框,当单击“确定”按钮时,把被选中的列表项显示在标签上。
初次使用 Swing 中的下拉列表框时,会感觉到 Swing 中的下拉列表框与 Windows 操作系统中的下拉列表框有一些相似,实质上二者并不完全相同,因为 Swing 中的下拉列表框不仅可以供用户从中选择列表项,也提供编辑列表项的功能。
下拉列表框是一个条状的显示区,它具有下拉功能,在下拉列表框的右侧存在一个倒三角形的按钮,当用户单击该按钮时,下拉列表框中的项目将会以列表的形式显示出来。
下拉列表框组件由 JComboBox 对象表示,JComboBox 类是 javax.swing.JComponent 类的子类。
JComboBox 类的常用构造方法如下:
- public JComboBox(ComboBoxModel dataModel):创建一个 JComboBox 对象,下拉列表中的列表项使用 ComboBoxModel 中的列表项,ComboBoxModel 是一个用于组合框的数据模型。
- public JComboBox(Object[] arrayData):创建一个包含指定数组中的元素的 JComboBox 对象。
- public JComboBox(Vector vector):创建一个包含指定 Vector 对象中的元素的 JComboBox 对象。Vecto r对象中的元素可以通过整数索引进行访问,而且 Vector 对象中的元素可以根据需求被添加或者移除。
JComboBox 类的常用方法及其说明如下表所示:
方法 | 说明 |
---|---|
addItem(Object anObject) | 为项列表添加项 |
getItemCount() | 返回列表中的项数 |
getSelectedItem() | 返回当前所选项 |
getSelectedIndex() | 返回列表中与给定项匹配的第一个选项 |
removeItem(Object anObject) | 从列表中移除项 |
setEditable(boolean aFlag) | 确定 JComboBox 中的字段是否可被编辑,参数被设置为 true,表示可以编辑,否则不能编辑 |
【实例】在下拉列表框中显示用户的所选内容。创建 JComboBoxTest 类,并继承 JFrame 类,窗体中有一个包含多个列表项的下拉列表框,当单击“确定”按钮时,把被选中的列表项显示在标签上。
import java.awt.event.*; import javax.swing.*; public class JComboBoxTest extends JFrame { public JComboBoxTest() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setTitle("下拉列表框的使用"); setBounds(100, 100, 317, 147); // 设置绝对布局 getContentPane().setLayout(null); JLabel lblNewLabel = new JLabel("请选择证件:"); lblNewLabel.setBounds(28, 14, 80, 15); getContentPane().add(lblNewLabel); JComboBox<String> comboBox = new JComboBox<>(); // 创建一个下拉列表框 comboBox.setBounds(110, 11, 80, 21); // 设置坐标 comboBox.addItem("身份证"); // 为下拉列表中添加项 comboBox.addItem("军人证"); comboBox.addItem("学生证"); comboBox.addItem("工作证"); comboBox.setEditable(true); // 设置下拉列表可编辑 getContentPane().add(comboBox); // 将下拉列表添加到容器中 JLabel lblResult = new JLabel(""); lblResult.setBounds(0, 57, 146, 15); getContentPane().add(lblResult); JButton btnNewButton = new JButton("确定"); btnNewButton.setBounds(200, 10, 67, 23); getContentPane().add(btnNewButton); btnNewButton.addActionListener(new ActionListener() { // 为按钮添加监听事件 @Override public void actionPerformed(ActionEvent arg0) { // 获取下拉列表中的选中项 lblResult.setText("您选择的是:" + comboBox.getSelectedItem()); } }); } public static void main(String[] args) { JComboBoxTest frame = new JComboBoxTest(); // 创建窗体对象 frame.setVisible(true); // 使窗体可见 } }运行结果如下图所示:

相关文章
- Java Swing.JFrame的用法(附带实例)
- Java Swing JDialog对话框的用法(附带实例)
- Java Swing JOptionPane对话框用法详解(附带实例)
- Java Swing FlowLayout布局管理器的用法(附带实例)
- Java Swing BorderLayout布局管理器的用法(附带实例)
- Java Swing JPanel和JScrollPane面板的用法(附带实例)
- Java Swing JLabel标签的用法(附带实例)
- Java Swing ImageIcon图标类的用法(附带实例)
- Java Swing JButton按钮的用法(附带实例)
- Java Swing JRadioButton单选按钮的用法(附带实例)