已有101人关注
请教:最后一个方法起什么作用
发表在Java图书答疑 2010-05-31
是否精华
版块置顶:
public class JComboBoxModelTest extends JFrame{

/**
 * @param args
 */
JComboBox jc=new JComboBox(new MyComboBox());
JLabel jl=new JLabel("请选择证件");

public JComboBoxModelTest() {
// TODO Auto-generated constructor stub
Container c=getContentPane();
setTitle("在窗体中设置下拉列表框");
setVisible(true);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
setSize(new Dimension(160,80));
setLayout(new FlowLayout());
c.add(jl);
c.add(jc);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new JComboBoxModelTest();
}

}
class MyComboBox extends AbstractListModel implements ComboBoxModel{
String selecteditem=null;
String[] test={"身份证","军人证","学生证","工作证"};

@Override
public Object 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 void setSelectedItem(Object anItem) {
// TODO Auto-generated method stub
selecteditem=(String)anItem;
}
@Override
public Object getSelectedItem() {
// TODO Auto-generated method stub
return selecteditem;
}
public int getIndex(){
for(int i=0;i<test.length; i++){
if(test[i].equals(getSelectedItem()))
return i;
break;
}
return 0;
}
}


最后一个方法:getIndex()起什么作用了,看出来,我去掉这个方法,程序照常运行。
还有:if(test[i].equals(getSelectedItem())是用来判断什么的?
请指教,谢谢。
分享到:
精彩评论 1
绿草_mrkj
学分:0 LV1
2010-06-01
沙发
  这个方法并没有在程序的任何地方调用,因此你去掉它不会影响程序。这句代码:“if(test[i].equals(getSelectedItem())”的意思是判断你选中的选项和复选框中的哪项值相等。返回该值所在复选框的位置。例如第一个选项、第二个选项等。
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照