Jlist详解

  JList有四种构造

  1.空构造

  2.数组的,不推荐使用,因为长度不可以改变

  3.Vector为参数,增删改方便,但没有直接的监听器事件

  4.listModel为参数,功能最强大的,listModel只关心里面的数据

  listModel是一个借口,用的时候默认使用它的实现类DefaultListModel 。

  JList选择的模式有三种:

  1.随意多选

  2.只能连续的多选或单选

  3.只能单选

  JList的监听

  要获得选中项或者监听选中项改变事件那么应该使用JList对象(比如鼠标点击)

  数据改变需要监听

  listModel默认jlist中的渲染是一个JLABEL所有放进去的都会作为一个label来显示

  Jlist默认添加的都显示是文本,如果想要添加非文本这类的或者需要显示出自己需要的组件,就必须自定义渲染器自定义渲染器去继承需要显示的组件并实现渲染器接口

  设置单元格的渲染器 jlist.setCellRenderer(new MyButtom());其中里面的参数放你需要的组件。加入你需要的是一个按钮就需要新建一个类继承JButton 实现 ListCellRenderer。

实现这个接口的方法,return this就是返回这个组件,在里面把按钮设置为你需要的东西。

  如果你需要的很复杂,你可以新建一个类继承JPenal实现 ListCellRenderer ,然后在方法中定义和设置好组件,用this.add把这些组件加进去返回就可以了。

  

package cn.zkingsoft;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Vector;

import javax.swing.BorderFactory;
import javax.swing.DefaultListModel;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import javax.swing.ListCellRenderer;
import javax.swing.ListModel;
import javax.swing.ListSelectionModel;
import javax.swing.ScrollPaneConstants;
import javax.swing.event.ListDataEvent;
import javax.swing.event.ListDataListener;
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值