最近研究了一下java swing中jlist控件的使用方式。要达到的效果如标题,要实现这个功能,重点在一下几个方面:
- 需要改变JList的cellRender来支持对图片的显示,默认的cellRender只会显示文本字符串
- 设置Jlist的每一项的显示方向为horizon
- 设置每一项选中后的背景
接下来是代码实现:
- 创建一个ImageListModel,继承AbstractListModel,设置为JList的列表模型
package com.swing.jlist;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import javax.swing.AbstractListModel;
public class ImageListModel extends AbstractListModel<File> {
private static final long serialVersionUID = 1L;
private List<File> imageFile = new ArrayList<File>();
public void addElement(File file){
this.imageFile.add(file);
}