我有以下演示应用程序显示值的列表,但我需要能够 来控制列表中元素的排序。添加这个最简单的方法是什么?JList按字母顺序排列
package demo;
import javax.swing.DefaultListModel;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.ListModel;
public class JListOrder {
public JListOrder()
{
JFrame frame = new JFrame("JListOrder");
DefaultListModel model = new DefaultListModel();
model.addElement("z");
model.addElement("Z");
model.addElement("a");
model.addElement("A");
model.addElement("C");
model.addElement("c");
model.addElement("b");
model.addElement("B");
JList list = new JList(model);
frame.add(list);
frame.setSize(200,200);
frame.setVisible(true);
}
public static void main(String[] args) {
new JListOrder();
}
}
无需使用单独的库。只需扩展AbstractListModel并使用TreeSet之类的SortedSet来保存元素。这是一个实现:http://www.java2s.com/Tutorial/Java/0240__Swing/SortedListModelsortableJList.htm([archive](https://archive.today/EoFvn))。或者使用我制作的这个快速分支添加泛型:https://gist.github.com/theAprel/bc661668d7120756b4a8 – Aprel 2015-02-07 06:19:57
如果您不在乎选择状态... ;-) – kleopatra 2015-02-07 08:48:40