java jlist组件_JavaSwing组件:Jlist学习笔记

1、 Java中Jlist这个Swing组件是用来展示一组项目,供用户选择的。可以将要展示的项目放在一个列上,也可以展示在多一个列中。有时候要展示的项目太多,组件的尺寸又不能随意扩大,所以,该组件常常是放在Scroll pane容器中的。   2、 初始化一个Jlist组件:   下面是定义一个Jlist组件,并将它放在JscrollPane容器中的简单代码: JScrollPane scrollPane = new JScrollPane();   scrollPane.setBounds(65, 65, 122, 144);   String listItem[] = {"苹果","香蕉","橘子","核桃"};   Jlist list = new JList(listItem);   scrollPane.setViewportView(list);   初始化一个Jlist组件时有三种方式,第一种就是上面这个例子:给构造函数传入一个数组型的参数。它的原型是:   public JList(Object[] listData)   第二种方式是向构造函数传入一个Vector型的参数,例如: Vector v = new Vector();   v.add("广东");   v.add("上海");   v.add("深圳");   Jlist list = new JList(v);   它的原型是:public JList(Vector> listData)   如果用上面这两种方式来初始化一个Jlist组件的话,那么其中所显示的各个项目就被固定了,不能在程序中被随意增加或者删除其中任何一个项目了。但是在程序中常常需要动态决定该组件中显示哪些项目,这时就应该指定Jlist的数据模型(list’s model)了。因为在Jlist中所显示的所有项目,都是“存储”在和它捆绑在一起的一个ListModel中的。在程序中要对Jlist中的项目进行诸如增加、删除等操作时,都不是直接在Jlist中进行的,而是在这个ListModel中完成的。可以有两种方式指定该组件的模型,一种是在定义该组件时作为参数传入。它的原型是:   public JList(ListModel dataModel)   另一种是调用方法:setModel来单独设置。如下示例代码: DefaultListModel listModel = new DefaultListModel();   listModel.addElement("Debbie Scott");   listModel.addElement("Scott Hommel");   listModel.addElement("Alan Sommerer");   Jlist list = new JList(listModel);   这时,可以通过调用数据模型的下列方法来随时改变组件中所显示的项目(当然,这些方法都属于ListModel的方法): public void add(int index, Object element);//在指定位置插入项目   public void addElement(Object obj);//在最后面插入项目   public boolean removeElement(Object obj);//删除最先匹配的项目   public Object remove(int index);//删除指定位置的项目   public Object get(int index);//获得指定位置的项目   public Object set(int index, Object element);//修改指定位置的项目   3、 设置选择模式   Jlist组件有三种选择项目的模式:   第一种是:SINGLE_SELECTION:   显然,这种模式下每次只允许选择一个项目。   第二种是:SINGLE_INTERVAL_SELECTION:   这种模式下允许连续选择多个项目。   第三种是:MULTIPLE_INTERVAL_SELECTION:   它允许间隔开地选择多个项目。这种模式是默认的选择模式,如果你要用上面两种模式,则需要显式地指定:   list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);   4、 操作用户选择的内容:   public Object getSelectedValue();//可以返回用户选择的项目的内容   public int getSelectedIndex();//返回用户选择的项目的下标,从0开始   public Object[] getSelectedValues()

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页

打赏作者

鬼山城

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值