您的位置 首页 java

下拉列表框组件

package swing;

import java.awt.Container;

import java.awt.Dimension;

import java.awt.FlowLayout;

import javax. swing .AbstractListModel;

import javax.swing.ComboBoxModel;

import javax.swing.JComboBox;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.WindowConstants;

/*

* 列表组件

* Swing中提供两种列表组件:下拉列表框 ,列表框

* 下拉列表框组件

* JComboBox类

* 常用 构造方法

* public JComboBox()

* public JComboBox(ComboBoxModel dataModel)

* public JComboBox(Object[] arrayData)

* public JComboBox(Vector vector)

* JComboBox

* 在 程序开发 中,一般将下拉列表框中的项目分装为ComboBoxModel类型。

* ComboBoxModel为接口,它代表一般模型,可以自定义一个类实现该接口,

* 然后在初始化ComboBoxModel 接口类型,但是必须实现以下两种方法

* public void setSelectedItem(Object item):用于设置下拉列表框中的选中项

* public Object getSelectedItem():用于返回下拉列表框中的选中项

* 还可以继承AbstractMOdel类,该类也有两个操作下拉列表框的方法

* getSize():返回列表的长度

* getElementAt(int index):返回指定索引处的值

*

*/

public class JComboBoxModelTest extends JFrame{

JComboBox<String> jc=new JComboBox<>(new MyComboBox());

JLabel jl=new JLabel(“请选择证件”);

public JComboBoxModelTest(){

setSize(new Dimension(160, 180));

setVisible(true);

setTitle(“在窗口中设置下拉列表框”);

setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

Container cp = getContentPane();

cp.setLayout(new FlowLayout());

cp.add(jl);

cp.add(jc);

}

public static void main(String[] args) {

new JComboBoxModelTest();

}

class MyComboBox extends AbstractListModel<String> implements ComboBoxModel<String>{

String selecteditem=null;

String[] test= {“身份证”,”军人证”,”学生证”,”工作证”};

@ Override

//根据索引返回值

public String getElementAt(int index) {

// TODO Auto-generated method stub

return test[index];

}

@Override

//返回下拉列表框 中项 目的数目

public int getSize() {

// TODO Auto-generated method stub

return test.length;

}

@Override

//获取下拉列表框中的项目

public Object getSelectedItem() {

// TODO Auto-generated method stub

return selecteditem;

}

@Override

//设置下拉列表框项目

public void setSelectedItem(Object item) {

// TODO Auto-generated method stub

selecteditem=(String)item;

}

public int getIndex() {

for (int i = 0; i < test.length; i++) {

if (test[i].equals(getSelectedItem()))

return i;

break ;

}

return 0;

}

}

}

文章来源:智云一二三科技

文章标题:下拉列表框组件

文章地址:https://www.zhihuclub.com/184348.shtml

关于作者: 智云科技

热门文章

网站地图