已有101人关注
老师看下,下拉列表框这篇说的是什么?
发表在Java图书答疑 2017-08-23 悬赏:1 学分 《Java从入门到精通(第4版)》第13章 Swing程序设计 248页-250页
是否精华
版块置顶:

import java.awt.*;


import javax.swing.*;


public class JComboBoxModelTest extends JFrame {

/**

*/

private static final long serialVersionUID = 1L;

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> {

/**

*/

private static final long serialVersionUID = 1L;

String selecteditem = null;

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

public String getElementAt(int index) {

return test[index];

}

public int getSize() {

return test.length;

}

public void setSelectedItem(Object item) {

selecteditem = (String) item;

}

public Object getSelectedItem() {

return selecteditem;

}

public int getIndex() {

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

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

return i;

}

return 0;

}

}

写的那么懵懵哒,书里又不解释,视频也没说,看了1小时都不知道想表达些什么

  1. JComboBox<String> jc = new JComboBox<>(new MyComboBox()); 里面的<String>和<>是什么意思?

  2. JComboBox<String> jc = new JComboBox<>(new MyComboBox());为什么调用MyComboBox的构造方法就能搞定JComboBox里的内容了,下面的MyComboBox里面都没写构造方法

  3. public void setSelectedItem(Object item) {

    selecteditem = (String) item;

    }

    这里的selecteditem和item有是什么?是不是继承的那个类的某个变量,这段话有什么用?



没了,最后表示这课写的非常不满意!!!

分享到:
精彩评论 1
David
学分:914 LV7
TA的每日心情
最后的冲刺
2017-07-15 10:46:08
2017-08-30
沙发
  1. <String>和<>表示的是泛型,用来指定列表项的数据类型是String。

  2. 下拉列表框有一个构造方法如下:JComboBox(ComboBoxModel aModel),其中,aModel是一个实现ComboBoxModel接口的对象。在本实例中,MyComboBox类实现了ComboBoxModel接口,所以通过创建MyComboBox类的对象,进而创建一个JComboBox类的对象,即JComboBox<String> jc = new JComboBox<>(new MyComboBox());。

  3. selecteditem代表被选中的列表项,setSelectedItem(Object item)这个方法的作用是设置被选中列表项的值为item,即“selecteditem = (String) item;”。因为selecteditem的数据类型为String,而item的数据类型为Object,所以这里用到了强制类型转换。

首页上一页 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经营性网站备案信息 营业执照