/*
* Fichier: JGList.java
*
* Créé le 30 sept. 2005 à 13:35:58
*
* Auteur: kiorky
*
* Copyright (C) 30 sept. 2005 kiorky
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
**/
package toolbox.jGegene.ihm;
import java.util.ArrayList;
import java.util.Iterator;
import javax.swing.DefaultListModel;
import javax.swing.JList;
/**
* @author kiorky classe permettant denlevrer et de rajouter facilement des
* elements dune jlist
*/
public class JGList {
private DefaultListModel dataModel = null;
private JList liste = null;
public JGList() {
liste = new JList();
dataModel = new DefaultListModel();
liste.setModel(dataModel);
}
public JGList(DefaultListModel m) {
liste = new JList();
this.dataModel = m;
liste.setModel(dataModel);
}
public JGList(String[] args) {
liste = new JList();
dataModel = new DefaultListModel();
for (int i = 0; i < args.length; i++) {
add(args[i]);
}
liste.setModel(dataModel);
}
/**
* ajouter un element a la liste
*
* @param a
* object a ajouter
*/
public void add(Object a) {
if (a != null) {
this.dataModel.addElement(a);
}
}
/**
* supprimer un eklement de la liste en fonction de lindex
*
* @param index
* index
*/
public void removeAt(int index) {
if (index < dataModel.getSize()) {
dataModel.removeElementAt(index);
}
}
/**
* supprimer un eklement de la liste en fonction de lobject
*
* @param a
* objet a supprimer
*/
public void remove(Object a) {
if (dataModel.contains(a)) {
dataModel.removeElement(a);
}
}
public void deleteSelectedItems() {
int[] indices = liste.getSelectedIndices();
ArrayList toDelete = new ArrayList();
for (int i = 0; i < indices.length; i++) {
toDelete.add(liste.getModel().getElementAt(indices[i]));
}
Iterator i = toDelete.iterator();
while (i.hasNext()) {
remove(i.next());
}
}
/**
* @return Renvoie dataModel.
*/
private DefaultListModel getDataModel() {
return dataModel;
}
/**
* @param dataModel
* dataModel à définir.
*/
private void setDataModel(DefaultListModel dataModel) {
this.dataModel = dataModel;
}
/**
* @return Renvoie liste.
*/
private JList getListe() {
return liste;
}
/**
* @param liste
* liste à définir.
*/
private void setListe(JList liste) {
this.liste = liste;
}
}