public class JComboBoxMode1Test extends JFrame{
private static final long serialVersionUID = 1L;
JComboBox<String> jc = new JComboBox<>(new MyComboBox());
JLabel jl = new JLabel("请选择证件:");
public JComboBoxMode1Test() {
// TODO Auto-generated constructor stub
setSize(new Dimension(160, 180));
setVisible(true);
setTitle("在窗口中设置下拉列表框");
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
Container cp = getContentPane();
cp.setLayout(new FlowLayout());
cp.add(jl);
cp.add(jc);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new JComboBoxMode1Test();
}
}
public class MyComboBox extends AbstractListModel<String> implements ComboBoxModel<String>{
private static final long serialVersionUID = 1L;
String selceteditem = null;
String[] test = {"身份证","军人证","学生证","工作证"};
@Override
public int getSize() {
// TODO Auto-generated method stub
return test.length;
}
@Override
public String getElementAt(int index) {
// TODO Auto-generated method stub
return test[index];
}
@Override
public void setSelectedItem(Object item) {
// TODO Auto-generated method stub
selceteditem = (String)item;
}
@Override
public Object getSelectedItem() {
// TODO Auto-generated method stub
return selceteditem;
}
public int getInex() {
// TODO Auto-generated method stub
for(int i=0;i<test.length;i++){
if(test[i].equals(getSelectedItem()))
return i;
}
return 0;
}
}