1、Model
(1)DefaultListModel:你所需做的事情很少。
(2)AbstractListModel:你需要管理数据并发出事件。需要实现getSize和getElementAt方法。
(3) ListModel
2、初始化JList
list = new JList(data); //data has type Object[]
list.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
list.setLayoutOrientation(JList.HORIZONTAL_WRAP);
list.setVisibleRowCount(-1);
...
JScrollPane listScroller = new JScrollPane(list);
listScroller.setPreferredSize(new Dimension(250, 80));
可以使用数组或者Vector或者实现了ListMode接口的对象初始化JList。如果使用数组或者Vector初始化JList,会产生一个默认的ListModel,但该model是不可变的,不允许添加或删除其中的列表项。为了得到一个可变的ListModel,可以将JList的model设置为DefaultListModel的子类。
setSelectionMode ,用来设置选择方式,是否允许多选或不连续选。
setLayoutOrientation ,设置列表项条目的布局。
3、选择模式
setSelectionMode:
SINGLE_SELECTION :单选
SINGLE_INTERVAL_SELECTION:连续多选
MULTIPLE_INTERVAL_SELECTION:不连续多选
但选择发生变化,会发出selection events,可以通过addListSelectionListener,注册监听器监听这些事件。
4、添加和移除条目
调用模型addElement、remove、insertElementAt。
5、自定义Cell Render
默认render调用各题目的toString方法。如想有所变化:
(1)创建一个实现ListCellRenderer接口的类;
(2)调用List对象的setCellRender
分享到:
相关推荐
本篇将深入探讨如何使用`JList`以及如何为其添加滚动条。 首先,`JList`可以通过传入一个字符串数组来初始化其内容。例如,我们可以创建一个包含若干元素的数组,然后将其作为参数传递给`JList`的构造函数: ```...
使用一个 `Object[]` 或 `Vector<?>` 构造 JList 实例,这适用于列表项数量较少且固定的情况。 ```java // 通过 Object[] 初始化 String[] items = {"选项1", "选项2", "选项3"}; JList<String> list1 = new ...
总的来说,这个示例展示了如何在`JList`中使用`JCheckBox`,提供了一种更直观的多选方式。通过自定义`ListModel`、渲染器和鼠标监听器,我们可以使`JList`具有勾选功能,从而增强用户界面的交互性。这在创建GUI应用...
在Java Swing库中,`JList`是一个常用的组件,用于展示一系列...记得在实际项目中,要考虑到性能优化,比如预加载策略、使用缩略图等,以确保用户体验流畅。同时,也可以考虑添加动画效果,使得图片切换更为平滑自然。
创建了自定义的渲染器后,将其设置到`JList`上,使用`jList.setCellRenderer(customRenderer)`。 5. **加载和显示图片**: 图片通常存储在文件系统或资源包中。使用`ImageIcon`可以从指定路径加载图片,然后将其...
本文将介绍如何使用 JavaSwing 中的 ListCellRenderer 接口来自定义 JList 组件的外观。 一、ListCellRenderer 接口 ListCellRenderer 接口是 JavaSwing 中的一个重要接口,用于自定义 JList 和 JComboBox 组件的...
### JList在Java中的应用与特性详解 #### 引言 在Java的Swing图形用户界面库中,`JList`组件提供了展示列表项的强大功能,不仅能够支持单列或多列显示,还提供了丰富的事件处理机制,使得它成为构建用户交互界面时...
本篇文章将深入探讨如何使用Java构建具有各种特性的`JList`,包括添加图片、实现拖放功能以及自定义外观等。我们将通过以下五个主题来展开讨论: 1. **添加图片到JList** 在`JList`中添加图片,可以使用户界面更加...
首先,`JList`的基本使用包括创建`DefaultListModel`来存储列表项,然后将该模型赋值给`JList`。例如: ```java DefaultListModel<String> model = new DefaultListModel(); model.addElement("项1"); model....
swing中的jlist 代码中定义了两个jlist 从一个jlist双击列表项可以将该项从这个列表删除并添加至另外一个列表中去
在这个例子中,我们将深入探讨`JList` 的使用方法,并结合给出的`List.java`文件来解析其关键知识点。 首先,`JList` 是javax.swing包中的类,它继承自`JComponent`,并实现了`ListModel`接口。`ListModel` 是`...
jlist应用例子,JLIST应用例子,移动举例
Java 风景日历系统设计 Java 风景日历系统设计是使用 Java ...该系统使用 Java 语言开发,使用 Java 的 Swing 库实现图形用户界面,使用 JList 和 JTable 完成简单日历的实现,並使用 Timer 类实现日历的翻动功能。
这就涉及到事件监听器的使用。本教程将详细解释如何在`JList`上实现事件监听器,以及`ListModelTest`这个示例代码是如何工作的。 首先,我们需要了解`JList`中的两种主要事件类型:`ListSelectionEvent`和`...
对于那些希望为列表增加更多视觉元素(如图片)的应用程序来说,使用 `ListCellRenderer` 接口可以大大增强 `JList` 的表现力。本文将详细介绍如何使用 `ListCellRenderer` 来创建一个更加美观且功能丰富的 `JList` ...
### JList多选值的获取 #### 概述 在Java Swing中,`JList` 组件被广泛用于创建用户界面中的列表框。不同于选择框(通常指`JComboBox`),`JList` 支持多种选择模式,使得用户能够灵活地进行单选或多选操作。本文...
JLIst的使用,主要是介绍基础
在Java Swing中,`JList` 是一个常用的组件,用于展示一系列可选择的项。当用户点击`JList`的空白区域时,默认行为是选中列表的最后一项。这对于某些应用场景,比如带有右键菜单的界面,可能会带来不便,因为用户...
最后,创建`MyListDemo`示例类,用于展示如何使用自定义`JList`。在这个类中,你可以加载初始数据,设置事件监听,以及处理用户与列表的交互。 ```java public class MyListDemo { public static void main(String...
1. 问题分析:名片的设计除了使用最基本的组件,如 JButton、JList、JCheckBox、JTextField、JRadioButton、CardLayout 等之外,最主要的是逻辑事件的编写,在成功布局完见面后,就需要编写事件处理。 2. 代码编写:...