Swing JList
Java Swing 包中的 JList 列表组件,采用 MVC 结构实现,可以实现丰富的列表选项功能。 JList 组件
有许多项供用户选择,这些选择项显示为一列或多列。通常将 JList 组件放在一个滚动面板中,当其中的选择项超过一定数量时,可以滚动查看。
1. 列表框组件 JList
JList list;
String[] provinces = {
"河南省",
"河北省",
"湖南省",
"湖北省"
};
list = new JList(provinces); //创建包含指定项的列表对象
list.setSelectionMode(ListSelectionModel.SINGLE_ SELECTION); //设置列表项只能被单选
list.setLayoutOrientation(JList.HORIZONTAL_WRAP); //设置组件的文字方向
list.setVisibleRowCount(-1); //默认不选中任何一项
JScrollPane listScroller = new JScrollPane(list); //创建滚动面板,注意将 JList 对象作为参数
listScroller.setPreferredSize(new Dimension(240, 80));
2 使用 Model 管理 JList 中的列表项
1.创建一个 Model
2.初始化列表以及向列表中添加列表项和从列表中删除列表项
DefaultListModel listModel = new DefaultListModel(); //创建 DefaultListModel 对象
listModel.addElement("河南省"); //向模型对象中添加元素
listModel.addElement("河北省");
listModel.addElement("湖南省”);
listModel.addElement("湖北省”);
JList list = new JList(listModel);
使用 addElement()会将新的列表项添加在列表的最后。
要从列表中删除一个列表项,要先选择要删除的列表项,然后调用列表模型的 remove()方法删除。
如下代码所示:
int index = list.getSelectedIndex();
listModel.remove(index);
要向列表中插入一个列表项到指定的索引处,使用列表模型 Model 的 insertElementAt()方法,如下
代码所示:
listModel.insertElementAt(“河南省”,2);
listModel.addElement("河南省"); //向模型对象中添加元素
listModel.addElement("河北省");
listModel.addElement("湖南省”);
listModel.addElement("湖北省”);
JList list = new JList(listModel);
使用 addElement()会将新的列表项添加在列表的最后。
要从列表中删除一个列表项,要先选择要删除的列表项,然后调用列表模型的 remove()方法删除。
如下代码所示:
int index = list.getSelectedIndex();
listModel.remove(index);
要向列表中插入一个列表项到指定的索引处,使用列表模型 Model 的 insertElementAt()方法,如下
代码所示:
listModel.insertElementAt(“河南省”,2);