JComboBox(下拉列表)的使用(笔记整理)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JComboBox(下拉列表)的使用(笔记整理)相关的知识,希望对你有一定的参考价值。

目录
JComboBox的简单使用
利用ComboModel构造JComboBox
建立有图像的JComboBox(略)
建立可自行输入的JComboBox
JComboBox的事件处理

JComboBox的简单使用

 除了构造函数,jcombobox还可以用addElement这个方法增加选项

利用ComboModel构造JComboBox

程序运行过程:当程序显示JComboBox时,系统先调用getSize方法,再调用getElementAt方法,将值填入到JComboBox中,再调用getSelectedItem方法,返回选取的项目,setSelectedItem方法将选取的项目展示到JComboBox的最前端。

**getElementAt方法中的index参数,系统会自动从0开始计算,所以要自己累加操作

继承DefaultComboBoxModel(既继承了AbstractListModel抽象类,也实现了ComboBoxModel接口),更方便的动态更改JComboBox

但是需要将所要的项目用addElement方法加入

建立有图像的JComboBox

 

建立可自行输入的JComboBox

 1 import java.awt.Container;
 2 import java.awt.event.WindowAdapter;
 3 import java.awt.event.WindowEvent;
 4 
 5 import javax.swing.BorderFactory;
 6 import javax.swing.ComboBoxEditor;
 7 import javax.swing.JComboBox;
 8 import javax.swing.JFrame;
 9 
10 public class putJComboBox {
11 
12     String [] fontsize={"12","14","16","18","20","22","24","26","28"};
13     String defaultMessage="请选择或直接输入文字大小";
14     public putJComboBox(){
15         JFrame f=new JFrame();
16         Container contentpane=f.getContentPane();
17         
18         JComboBox combo=new JComboBox<>(fontsize);
19         combo.setBorder(BorderFactory.createTitledBorder("请选择您想要的文字大小"));
20         combo.setEditable(true);
21         ComboBoxEditor editor=combo.getEditor();
22         combo.configureEditor(editor, defaultMessage);//初始化显示项目
23         
24         contentpane.add(combo);
25         f.pack();
26         f.show();
27         f.addWindowListener(new WindowAdapter() {
28 
29             @Override
30             public void windowClosing(WindowEvent e) {
31                 // TODO Auto-generated method stub
32                 System.exit(0);
33             }
34             
35         });
36     }
37     public static void main(String[] args) {
38         new putJComboBox();
39     }
40 }

 

JComboBox的事件处理

  1. 取得用户选取的项目(ItemListener)
  2. 用户在JComboBox上自行输入完毕后按回车键,运行相应的动作(ActionListener)

以上是关于JComboBox(下拉列表)的使用(笔记整理)的主要内容,如果未能解决你的问题,请参考以下文章

Java Swing 编程 JComboBox 显示不全问题。

java界面编程 ------ 列表框

JAVASE学习笔记:第十章 SWing经常使用控件类

如何从 Document Listener 更新 JComboBox 的列表?

java中如何将数据显示到jcombobox上?

Java第二次实验