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单选按钮的用法(附带实例)
ICP备案:
公安联网备案: