GUI关于JComboBox的用法-创新互联

JList和ComboBox很相似,因为这两个组件都显示一个项列表。因此,它们都有扩展ListModel接口的模型。而且,这两个组件都有绘制器,这些绘制器通过实现ListCellBenderer接口来绘制列表单元。   但是,列表和组合框在施工方面还是有差别的。列表单是不可编辑的,但是组合框可以配备一个编辑器。JComboBox组件把编辑工作交给实现ComboBoxEdit接口的一个对象来处理。
列表支持三个选取模式,并把选取工作实现ListSelectionModel接口的一个对象来处理。组合框在一个时刻只有一个可选取的项,而且选取工作由组合框模型来处理。另一方面,组合框支持键选取,即在某项上按下一下键就可以选取这个项,但列表不能这样做。

构造函数
JComboBox()
          创建具有默认数据模型的 JComboBox。
JComboBox(ComboBoxModel aModel)
          创建一个 JComboBox,其项取自现有的 ComboBoxModel 中。
JComboBox(Object[] items)
          创建包含指定数组中的元素的 JComboBox。
JComboBox(Vector items)
          创建包含指定 Vector 中的元素的 JComboBox。

常用方法
addActionListener(ActionListener l)
          添加 ActionListener。
addItem(Object anObject)
          为项列表添加项。
addItemListener(ItemListener aListener)
          添加 ItemListener。
configureEditor(ComboBoxEditor anEditor, Object anItem)
          利用指定项初始化编辑器。
getEditor()
          返回用于绘制和编辑 JComboBox 字段中所选项的编辑器。
getItemAt(int index)
          返回指定索引处的列表项。
getItemCount()
          返回列表中的项数。
getModel()
          返回 JComboBox 当前使用的数据模型。
getRenderer()
          返回用于显示 JComboBox 字段中所选项的渲染器。
getSelectedIndex()
          返回列表中与给定项匹配的第一个选项。
getSelectedItem()
          返回当前所选项。
insertItemAt(Object anObject, int index)
          在项列表中的给定索引处插入项。
isEditable()
          如果 JComboBox 可编辑,则返回 true。
removeAllItems()
          从项列表中移除所有项。
removeItem(Object anObject)
          从项列表中移除项。
removeItemAt(int anIndex)
          移除 anIndex 处的项。
setModel(ComboBoxModel aModel)
          设置 JComboBox 用于获取项列表的数据模型。
setRenderer(ListCellRenderer aRenderer)
          设置渲染器,该渲染器用于绘制列表项和从 JComboBox 字段的列表中选择的项。
setSelectedIndex(int anIndex)
          选择索引 anIndex 处的项。
setSelectedItem(Object anObject)
          将组合框显示区域中所选项设置为参数中的对象。

创新互联网站建设公司是一家服务多年做网站建设策划设计制作的公司,为广大用户提供了网站设计、成都网站设计,成都网站设计,广告投放平台,成都做网站选创新互联,贴合企业需求,高性价比,满足客户不同层次的需求一站式服务欢迎致电。
下面是一个例子:
String[] schoolage = { "本科", "硕士", "博士" };
schoolageComboBox = new JComboBox(schoolage);
schoolageComboBox.addItem("其他");
schoolageComboBox.insertItemAt("请选择", 0);
schoolageComboBox.setSelectedIndex(0);
schoolageComboBox.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED) {     // 查看是否为新选中的选项触发
if (e.getItem().equals("其他") || e.getItem().equals("")) {  // 查看触发的选项
schoolageComboBox.setEditable(true);      // 设置选择框为可编辑
schoolageComboBox.setSelectedItem("");    // 将选项值修改为0字节
} else {
schoolageComboBox.setEditable(false);     // 设置选择框为不可编辑

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前名称:GUI关于JComboBox的用法-创新互联
标题路径:http://scyanting.com/article/idppd.html