大家在使用Swing的JList的时候一定会关心几个问题常见问题:
1:怎么把JList弄到界面上去
2:怎么往JList上放数据
3:怎么监听JList里的项的双击事件,然后取出数据
4:数据太多,怎么添加滚动条。
这是几个常用功能,今天在这里做个总结。
=========================================================================
1:怎么把JList弄到界面上去
2:怎么往JList上放数据
这两个问题十分简单,我们要把一个JList放在JPanel上,只要设置好JList的数据、大小,就可以直接用JPanel的add方法添加上去。
ListModel jListModel = new DefaultComboBoxModel(new String[] { "张三", "李四" }); //数据模型
JList myJlist = new JList();
myJlist.setModel(jListModel);
myJlist.setPreferredSize(new java.awt.Dimension(192, 173));
myPanel.add(myJlist); //直接add
这样就可以显示到myPanel上,注意数据模型接收的是Object类型数据。
效果图:
什么时候你想更新数据,只需要调用JList.setModel(ListModel model)方法设置新的数据即可。
3:怎么监听JList里的项的双击事件,然后取出数据
首先来看看如何监听双击事件:
我们在查API的时候会发现没有类似C#那种doubleClick事件,而单击事件我们直接使用addListSelectionListener也可以,但是似乎这个监听器没法实现双击事件监听。
那么我们要利用鼠标单击事件做双击事件的判断,而mouseClicked方法传入的event正好有一个getClickConunt()方法。
getClickCount
public int getClickCount()
返回与此事件关联的鼠标单击次数。
返回:
单击次数的整数值
myJlist.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if(e.getClickCount() == 2){
System.out.println("双击");
}
}
});
这样就可以完成一次双击的判断。
但是我们怎么拿出来我们双击的项的数据呢?这个mouseClicked事件作用域是整个JList。
大家知道事件监听机制里有一个叫“事件源”的东西,这个东西就是触发这个事件的源头。而在这里源头就是JList。我们可以获得它,然后再获得它的已选下标,再获取数据。
myJlist.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if(e.getClickCount() == 2){
System.out.println("双击");
JList myList = (JList) e.getSource();
int index = myList.getSelectedIndex(); //已选项的下标
Object obj = myList.getModel().getElementAt(index); //取出数据
System.out.println(obj.toString());
}
}
});
这样就完成了一次双击取数据的动作。
4:数据太多,怎么添加滚动条。
这个也很简单,把JPanel换成JScrollPane即可,但是这时候不再调用add方法,而是调用setViewportView方法
JScrollPane jScrollPane1 = new JScrollPane(); //滚动条panel
jScrollPane1.setPreferredSize(new java.awt.Dimension(218, 164));
ListModel jList1Model = new DefaultComboBoxModel(new String[] { "张三","李四","李四","李四","李四","李四","李四","李四","李四","李四","李四" });
JList myJlist = new JList();
myJlist.setModel(jList1Model); //设置数据
jScrollPane1.setViewportView(myJlist); //不能直接add
这样在数据超出显示范围时即可出现滚动条。
效果图:
最后介绍个学习网站:
http://gz.itcast.cn/
分享到:
相关推荐
swing中的jlist 代码中定义了两个jlist 从一个jlist双击列表项可以将该项从这个列表删除并添加至另外一个列表中去
本文将介绍如何使用 JavaSwing 中的 ListCellRenderer 接口来自定义 JList 组件的外观。 一、ListCellRenderer 接口 ListCellRenderer 接口是 JavaSwing 中的一个重要接口,用于自定义 JList 和 JComboBox 组件的...
JList是Swing库提供的一个用于显示列表数据的组件,它可以显示单个或多个项目,并且允许用户进行选择操作。
### Java Swing 组件:JList 学习笔记 #### JList 概述 JList 是 Java Swing 中的一个重要组件,用于展示列表项。它能够帮助开发者实现数据的动态展示、编辑以及选择等功能,广泛应用于各种桌面应用软件界面设计中...
swing JList 拖拽记录到 JTable
Java Swing JList 列表框的实现 Java Swing JList 列表框是 Java 中的一个基本组件,用于显示多个选项,允许用户选择一个或多个选项。下面详细介绍 JList 的实现。 概述 JList 是一个列表框,用于显示多个选项,...
在Java Swing库中,`JList`是一个非常重要的组件,用于显示一组可选择的项。在GUI应用程序中,它常用于展示列表数据,允许用户进行单选或多选操作。本篇将深入探讨如何使用`JList`以及如何为其添加滚动条。 首先,`...
在Swing框架中,`JList` 和 `JComboBox` 都可以使用 `ListCellRenderer` 来定制其单元格的渲染方式。`ListCellRenderer` 的作用在于为列表中的每个条目提供一个自定义的视图组件。这个接口定义了一个方法 `...
在Java Swing库中,`JList`是一个常用的组件,用于展示一系列可选择的项。它在用户界面设计中常用于创建列表视图,允许用户通过单击或键盘导航来选择项目。在本教程中,我们将深入探讨如何实现`JList`的上下左右拖动...
本资料“JFC Swing活学活用系列之定制JList显示”聚焦于如何利用Swing中的JList组件来实现自定义的显示效果。 JList是一个可滚动的组件,允许用户从一系列选项中进行选择。默认情况下,JList会按照字符串形式展示...
在Java Swing库中,`JList`是一个常用的组件,用于展示一系列可选择的项。它通常用于用户需要从多个选项中进行单选或多选的场景。在这个示例中,我们将探讨如何在`JList`中集成`JCheckBox`,使得用户能够通过勾选复...
首先,`JList` 默认并不支持复选框,但我们可以使用 `DefaultListModel` 和 `ListCellRenderer` 来实现这一功能。`DefaultListModel` 用于存储列表中的项,而 `ListCellRenderer` 则负责定制每个列表项的显示方式,...
总的来说,`ListSelectionListener`是Java Swing中处理`JList`选择事件的关键工具,通过正确地实现和使用它,你可以使应用程序具备更强的用户反馈和交互性。记住,在处理选择事件时要注意`getValueIsAdjusting`的值...
在Java Swing中,`JList` 组件被广泛用于创建用户界面中的列表框。不同于选择框(通常指`JComboBox`),`JList` 支持多种选择模式,使得用户能够灵活地进行单选或多选操作。本文将详细介绍如何通过`JList` 实现不同...
在Java Swing库中,`JList`是一个常用的组件,用于展示一系列可选择的项。在这个特定的情况下,我们探讨的是如何利用`JList`来显示图片,并实现这些图片的动态变化。这在创建图像库、画廊应用或者进行图形用户界面...
在Java编程中,`JList` 是Swing组件库中的一个关键部分,它用于展示一系列选项,用户可以选择其中的一个或多个。本篇文章将深入探讨如何使用Java构建具有各种特性的`JList`,包括添加图片、实现拖放功能以及自定义...
当涉及到列表元素的实时增删时,直接操作构造`JList`的原始数组并非明智之举,因为这样的操作不会被`JList`感知。正确的做法是利用`DefaultListModel`类,它专为`JList`设计,能够自动通知视图更新。`...
在Java编程中,`JList` 是Swing组件库中的一个关键部分,它用于展示一系列的选项或元素供用户选择。在默认情况下,`JList` 只能显示字符串元素,但通过自定义渲染器(CellRenderer),我们可以扩展其功能以显示更...
在Java编程语言中,`JList` 是Swing库中的一个组件,用于显示一组可选择的项目。`JList` 可以用作单选或多选列表,常用于创建下拉菜单、列表视图等用户界面元素。在这个例子中,我们将深入探讨`JList` 的使用方法,...
最后,创建`MyListDemo`示例类,用于展示如何使用自定义`JList`。在这个类中,你可以加载初始数据,设置事件监听,以及处理用户与列表的交互。 ```java public class MyListDemo { public static void main(String...