用Swing开发GUI程序(四)JList

本文介绍了Java Swing中的JList组件,包括其构造方法、动态内容管理、选择监听、单元渲染以及如何处理鼠标点击事件。JList可以通过DefaultListModel管理内容,并且可以设置自定义单元渲染器来改变显示样式。为了实现滚动效果,通常将其置于JScrollPane内。开发者还可以通过添加MouseListener来响应多次鼠标点击事件。
摘要由CSDN通过智能技术生成

JList是客户端还算比较常见的组件,偶尔也用得到,值得一学。

从API可以看出,JList的构造方法有四种
这里写图片描述

// 创建一个Jlist来显示 String数组

 String[] data = {
  "one", "two", "three", "four"};
 JList myList = new JList(data);

可通过构造方法或 setModel 方法向 JList 直接提供 ListModel。内容不需要是静态的,即项数和项值可以随时间而更改。

简单的、动态内容的 JList 应用程序可以使用 DefaultListModel 类维护列表元素。此类实现 ListModel 接口

侦听列表选择中更改的首选方法是向 JList 中直接添加 ListSelectionListener。然后,JList 负责侦听选择模型并向侦听器通知更改。

绘制 JList 中的单元由称为单元渲染器(以 cellRenderer 属性的形式安装在列表上)的委托进行处理。渲染器提供一个其用法类似 “rubber stamp” 的 java.awt.Component 来绘制单元。每当需要绘制单元时,列表的 ListUI 就请求组件的单元渲染器,将其移动到位,然后通过其 paint 方法绘制单元的内容。默认单元渲染器(它使用 JLabel 组件呈现)由列表的 ListUI 安装。用户还可以使用如下代码替换自己的渲染器:

  // Display an icon and a string for each object in the list.

 class MyCellRenderer
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值