博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Java】JList笔记
阅读量:6046 次
发布时间:2019-06-20

本文共 3102 字,大约阅读时间需要 10 分钟。

 

 

Table of Contents

1 JList

与ComboBox不同的是JList把所有的可选项都可见,而ComboBox把所有Item隐藏等待用户下拉后才看见。

原型是JList<E>,是个容器,

2 构造函数

 

JList()Constructs a JList with an empty, read-only, model.JList(E[] listData)Constructs a JList that displays the elements in the specified array.JList(ListModel
dataModel)Constructs a JList that displays elements from the specified, non-null, model.JList(Vector
listData)Constructs a JList that displays the elements in the specified Vector.

3 ListMode

This interface defines the methods components like JList use to get the value of each cell in a list and the length of the list. Logically the model is a vector, indices vary from 0 to ListDataModel.getSize() - 1.

3.1 DefaultListMode

 

3.1.1 addElement(E element)

添加元素

3.1.2 add(int index, E element)

在指定位置插入指定元素。

4 JList 几个函数

 

4.1 getSelectedValues()

获取所选元素的值

4.2 getSelectedIndices()

获取所选元素的索引

5 addListSelectionListener(ListSelectionListener)

 

5.1 ListSelectionListener

有Item选中时发生事件

5.2 valueChanged(ListSelectionEvent e)

 

6 程序示例

 

package xjtu.vf.swing;import java.awt.Color;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.BorderFactory;import javax.swing.DefaultListModel;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JList;import javax.swing.JTextArea;import javax.swing.border.Border;import javax.swing.event.ListSelectionEvent;import javax.swing.event.ListSelectionListener;public class List extends JFrame {    private String[] flavors = { "A", "B", "C", "D", "E", "F" };    private DefaultListModel lItems = new DefaultListModel();    private JList lst = new JList(lItems);    private JTextArea t = new JTextArea(flavors.length, 20);    private JButton b = new JButton("Add Item");    private ActionListener bl = new ActionListener() {        public void actionPerformed(ActionEvent e) {            if (count < flavors.length)                lItems.add(0, flavors[count++]);            else                b.setEnabled(false);        }    };    private ListSelectionListener lsl = new ListSelectionListener() {        @SuppressWarnings("deprecation")        public void valueChanged(ListSelectionEvent e) {            if (e.getValueIsAdjusting())                return;            t.setText("");            for (Object item : lst.getSelectedValues())                t.append(item + "\n");        }    };    private int count = 0;    public List() {        t.setEditable(true);        setLayout(new FlowLayout());        Border brd = BorderFactory.createMatteBorder(1, 1, 2, 2, Color.black);        lst.setBorder(brd);        t.setBorder(brd);        for (int i = 0; i < 4; i++)            lItems.addElement(flavors[count++]);        add(t);        add(lst);        add(b);        b.addActionListener(bl);        lst.addListSelectionListener(lsl);    }    public static void main(String[] args) {        SwingConsole.run(new List(), 250, 375);    }}

Author: visaya fan

Date: 2011-11-20 23:49:33

HTML generated by org-mode 6.33x in emacs 23

转载于:https://www.cnblogs.com/visayafan/archive/2011/11/21/2256944.html

你可能感兴趣的文章
一页纸IT项目管理:大道至简的实用管理沟通工具
查看>>
IE6 7下绝对定位引发浮动元素神秘消失
查看>>
浏览器的回流和重绘及其优化方式
查看>>
2.4 salt grains与pillar jinja的模板
查看>>
VDI序曲二十 桌面虚拟化和RemoteApp集成到SharePoint 2010里
查看>>
移动互联网,入口生死战
查看>>
JAVA多线程深度解析
查看>>
Kafka High Level Consumer 会丢失消息
查看>>
时间轴
查看>>
java 获取系统当前时间的方法
查看>>
Ubuntu 10.04升级git 到1.7.2或更高的可行方法
查看>>
Spring Security4实战与原理分析视频课程( 扩展+自定义)
查看>>
第一周博客作业
查看>>
thinkpython2
查看>>
oracle recyclebin与flashback drop
查看>>
svmlight使用说明
查看>>
Swing 和AWT之间的关系
查看>>
Mysql设置自增长主键的初始值
查看>>
获取post传输参数
查看>>
ASP生成静态页面的方法
查看>>