All pastes #24309 Raw Edit

Someone

public text v1 · immutable
#24309 ·published 2005-09-30 15:20 UTC
rendered paste body
/*
 * 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;
    }
}