import javax.swing.ListModel; import javax.swing.event.ListDataListener; import javax.swing.event.ListDataEvent; import java.util.Vector; /** * Modéle pour la liste */ public class Modele implements ListModel { //Stocke les données private Vector donnees=new Vector(); //Stocke les écouteurs de changement private Vector ecouteurs=new Vector(); /** * Construit un modéle vide */ public Modele() { } /** * Nombre de données dans le modéle */ public int getSize() { return donnees.size(); } /** * Renvoie la donnée à l'indice index */ public Object getElementAt(int index) { return donnees.elementAt(index); } /** * Ajoute une donnée */ public void addElement(Object element) { donnees.addElement(element); changement(); } /** * Enlève une donnée */ public void removeElement(Object element) { donnees.remove(element); changement(); } /** * Ajoute un écouteur */ public void addListDataListener(ListDataListener l) { ecouteurs.addElement(l); } /** * Retire un écouteur */ public void removeListDataListener(ListDataListener l) { ecouteurs.remove(l); } //Indique à un écouteur, qu'il y a eut un changement private void fire(ListDataListener ldl,ListDataEvent lde) { ldl.contentsChanged(lde); } //Indique à tous les écouteurs, qu'il y a eut un changement private void fire(ListDataEvent lde) { int nb=ecouteurs.size(); for(int i=0;i<nb;i++) fire((ListDataListener)ecouteurs,lde); } //A appelée pour signaler les changements private void changement() { fire(new ListDataEvent(this,ListDataEvent.CONTENTS_CHANGED,0,getSize()-1)); } }
import javax.swing.JList; /** * Jlist facilement modifiable */ public class Liste extends JList { //Modéle de la liste private Modele modele=new Modele(); /** * Créée une liste vide */ public Liste() { setModel(modele); } /** * Ajoute une ligne */ public void ajoute(Object donnee) { modele.addElement(donnee); } /** * Ajoute plusieurs lignes */ public void ajoute(Object[] donnees) { for (int i = 0; i < donnees.length; i++) ajoute(donnees[i]); } /** * Renvoie le nombre de lignes */ public int nombreDonnee() { return modele.getSize(); } /** * Renvoie la donnée à l'indice indiqué */ public Object getDonnee(int indice) { return modele.getElementAt(indice); } /** * Retire la donnée */ public void retire(Object donnee) { modele.removeElement(donnee); } }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionpublic class fenetre extends JFrame { Liste ma_liste = new Liste(); String str = new String("hello!"); public fenetre() { ma_liste.ajoute(str); } }
private void fire(ListDataEvent lde) { int nb=ecouteurs.size(); for(int i=0;i<nb;i++) fire((ListDataListener)ecouteurs.elementAt(i),lde); }
liste.setPreferredSize(new Dimension(largeur,hauteur)); conteneur.add(new JScrollPane(liste),contrainte);
public String toString() { return nombre1+" , "+nombre2; }
byte[] tableau={5,89,-12,56};
byte[] tableau=new byte[52];
byte[] tableau; //... //Détermination de la taille tableau=new byte[taille];
InetAdress IP = InetAdress.getByName("127.0.0.0");
InetAdress IP = InetAdress.getByName(nomMachine);