Personal tools
Document Actions

JDnDList

by Eustaquio Vercher last modified 2010-06-01 22:47

Clase que implementa la funcionalidad Drag and Drop en listas.

Esta clase extiende JList e implementa las interfaces necesarias para usar Drag and Drop con listas. Drag and Drop es una herramienta útil que permite seleccionar y arrastrar elementos. Al extender de un JList lo que se consigue es implementar esta funcionalidad en listas, permitiendo al usuario cambiar el orden de los elementos de la lista arrastarando y soltando, añadir elementos de otras JDnDList arrastrando elementos con el ratón, además de otras funcionalidades.

Se ha implementado JDnDListModel que añade la funcionalidad típica de listas para poder utilizarla con Drag and Drop.

Se ha implementado un programa de test donde aparecen dos listas. En las imágenes veremos como se puede ir cambiando el orden de los elementos arrastrando y soltando y como podemos añadir elementos de una lista a otra de la misma manera.

imagenes/JDnDList1.JPG

Imágen inicial en la que se muestran dos listas.

imagenes/JDnDList2.JPG

En esta imágen se muestra como ha quedado la lista tras reordenarla mediante Drag and Drop.

imagenes/JDnDList3.JPG

En esta imágen se observa como hemos añadido elementos de una lista a otra y las hemos reordenado.

A continuación se incluyen fragmentos de código ilustrativos de como utilizar estas clases.

Primero creamos el modelo de listas que vamos a incluir en el panel con los elementos que creamos oportunos

JDnDListModel listModel = new JDnDListModel();
listModel.addElement("primero");
listModel.addElement("segundo");
listModel.addElement("tercero");

JDnDListModel listModel2 = new JDnDListModel();
listModel2.addElement("cuarto");
listModel2.addElement("quinto");
listModel2.addElement("sexto");

Después invocamos al constructor de la clase JDnDList con los modelos creados en el punto anterior

JDnDList list = new JDnDList();
list.setModel(listModel);

JDnDList list2 = new JDnDList();
list2.setModel(listModel2);

Y por último sólo nos queda incluir las dos listas con funcionalidad Drag and Drop en el panel

content.add(list);
content.add(list2);

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: