IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

affichage d'un arrayList


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Par défaut affichage d'un arrayList
    Bonjour,

    j'essai de surcharger une méthode toString() pour l'affichage d'un arrayList composé de JLabel, et je n'y arrive pas...
    voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    public class ecr_batonnage {
     
    	private JFrame fen = new JFrame();
    	private JPanel panRes = new JPanel();
    	ArrayList<JLabel> listLabel = new ArrayList<JLabel>();
     
     
    	public ecr_batonnage() throws SQLException
    	{
    		//String[] uneOffre = {"mens","suivi_conso"};
    		Connection con = null;
    	    ResultSet resultats = null;
     
    	     Vector realData = new Vector ();
    	     con = DriverManager.getConnection("jdbc:mysql://localhost/batonnage?zeroDateTimeBehavior=convertToNull","root","");
    	     Statement st = con.createStatement();
    	     resultats = st.executeQuery("SELECT libelle_offre from offres where code_canal like '%"+ecran.uneActivite.getCode()+"%'");
    	     resultats.last();
    	     int nblignes = resultats.getRow();
    	     resultats.beforeFirst();
    	     while(resultats.next())
    	     {
    	    	String data = new String(resultats.getString("libelle_offre"));
    	    	realData.add(data);
     
    	     }
     
     
    		JList liste_offre = new JList(realData);
     
    		for(int i=0;i<nblignes;i++){
    		     listLabel.add(new JLabel("0"));
    		}
     
    		fen.getContentPane().setLayout(new FlowLayout(FlowLayout.CENTER,10,5));
    		fen.getContentPane().add(liste_offre);
     
    		System.out.print(listLabel.get(0));
     
    		fen.add(panRes);
    		fen.setSize(300, 200);
    		fen.setVisible(true);
    	}
     
     
    	public String toString() { 
    		for (int i =0;i<listLabel.size();i++)
    		{
    			return    listLabel.get(i).getText();        
    		}
    		return null;
     
    		}
    	}
    rien ne s'affiche dans ma fenêtre...j'ai sans doute oublié quelque chose

    Merci de votre aide

  2. #2
    Membre chevronné Avatar de ngpub
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Par défaut
    Voici une idée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public String toString() { 
    	StringBuilder builder = new StringBuilder(1024);
    	builder.builder.append('[');
     
    	for (int i = 0; i < listLabel.size(); i++)
    	{
    		if(i > 0) builder.append(", ");
    		builder.append(listLabel.get(i).getText());
    	}
    	builder.builder.append(']');
    	return builder.toString();
    }
    La méthode toString() et une méthode "standardisée" qui se rapporte à ton objet ecr_batonnage, ce n'est pas une bonne idée de l'utiliser pour afficher juste tes JLabel.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Par défaut
    ok.

    et pour qu'ils s'affichent l'un sous l'autre et non l'un à côté de l'autre, il y a un moyen?

  4. #4
    Membre chevronné Avatar de ngpub
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Par défaut
    Je ne comprends pas, tu écris des lignes et des lignes de code pour gérer ton affichage et tu n'arrives pas à modifier une simple concaténation de textes ???
    Comprends-tu le code que je t'ai envoyé ?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Par défaut
    Oui,j'ai compris et se que tu fait me renvoi du texte. Je souhaite afficher mes JLabel les uns en dessous des autres car ils correspondent en faite à un système de comptage.

    En faite, j'ai une JList qui contient des services que je vends et pour chaque élément de ma Jlist j'ai un JLabel qui compte le nombre de fois que j'ai vendu le service qui est placé en face dans ma JList.

    Peut-être que se que je souhaite faire n'est pas possible.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for(int i=0;i<nblignes;i++){
     
    		     panRes.add(listLabel.get(i));
     
    		}
    voilà ce que je fais pour afficher mes différents JLabels mais ils s'affichent à la suite

  6. #6
    Membre chevronné Avatar de ngpub
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Par défaut
    Oui,j'ai compris et se que tu fait me renvoi du texte.
    C'était ta question, non ?
    j'essai de surcharger une méthode toString() ...

    En faite, j'ai une JList qui contient des services que je vends et pour chaque élément de ma Jlist j'ai un JLabel qui compte le nombre de fois que j'ai vendu le service qui est placé en face dans ma JList.
    Là on est sur un autre problème, et j'ai peur de comprendre que tu cherches à aligner des JLabel sur des éléments de JList .
    Si c'est bien ça, à mon avis ce n'est vraiment pas une bonne idée. Utilise une JTable pour placer le tout ça sera plus simple.
    Tu as ici un tutoriel qui t'explique comment utiliser une JTable.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème d'affichage d'une ArrayList dans une JSP
    Par Chayton dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 15/03/2015, 01h31
  2. [DisplayTag] affichage d'une arrayList
    Par tuxmona dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 12/12/2008, 17h42
  3. [VB.NET][ComboBox] Pb Affichage d'après ArrayList
    Par mainecoon dans le forum Windows Forms
    Réponses: 2
    Dernier message: 08/11/2006, 08h49
  4. Affichage d'une ArrayList avec logic:iterate
    Par mitje dans le forum Struts 1
    Réponses: 2
    Dernier message: 29/09/2006, 10h02
  5. [VB.NET] [WinForms] [DataGrid][ArrayList] Affichage colonnes
    Par Misterburma dans le forum Windows Forms
    Réponses: 2
    Dernier message: 05/04/2005, 11h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo