Posez votre question Signaler

Mise en forme text dans jlist java

Grefer2luxe 75Messages postés 21 mai 2007Date d'inscription 29 mars 2011Dernière intervention - Dernière réponse le 1 févr. 2011 à 09:07
Bonjour,
Voila, je voudrais bien mettre mes mots dans ma jlist mais je n'arrive pas à bien mettre le texte en forme.
J'ai le code si vous voulez.
Merci
Lire la suite 

Mise en forme text dans jlist java »

71 réponses
Réponse
+0
moins plus
avec le code c'est mieux stp
et "mettre bien" c'est quoi selon toi?
Ajouter un commentaire
Réponse
+0
moins plus
Voici le code de ma jlist :

private JList getJListNom() {
		if (jListNom == null) {
			jListNom = new JList(info);
			jListNom.setLayoutOrientation(JList.HORIZONTAL_WRAP);
			jListNom.setBounds(new Rectangle(74, 164, 286, 152));
			jListNom.setFont(new Font("Comic Sans MS", Font.BOLD, 14));
		}
		return jListNom;
	}


Enfet j'affiche le numéro de groupe et le nom du groupe dans la jlist et je voudrais les afficher du style :

- NuméroGroupe : VariableNumGroupe
- NomGroupe : VariableNomGroupe

Mais je ne sais pas du tout comment m'y prendre.

Merci
Ajouter un commentaire
Réponse
+0
moins plus
Salut,

jListNom = new JList(info);

Il y a quoi dans info ?

Dan
Ajouter un commentaire
Réponse
+0
moins plus
c'est un vecteur qui récupère les groupes chantant un titre donnée;

PS : je t'avais laissé un message privé :)
Grefer2luxe- 21 janv. 2011 à 13:11
oui sur deux lignes alors que j'ai mis jListNom.setLayoutOrientation(JList.HORIZONTAL_WRAP);
dans ma liste...

Ben enfet le but de mon appli, c'est de récupérer les groupes jouant un titre donné.

Donc j'ai une combobox qui récupére tous les titres de ma BDD.

Ensuite j'ai un boutton qui affiche le résultat dans la liste quand j'appuie dessus;

Enfin j'ai une jlist qui affiche les groupes du titre sélectionné dans la combobox.

Le code marche nikl seulement moi je veux que les groupes affichés dans la jlist soit bien affichés et pas n'importe comment comme mtn.

Tu vois?
danimo- 21 janv. 2011 à 13:27
Il faudrait peut-être revoir la création du vecteur, tu peux me donner le code ?
Grefer2luxe- 21 janv. 2011 à 13:30
Oui biensur

              private Vector <String> info = new Vector<String> ();
                                info.clear();
	        		String titre = jComboBoxNom.getSelectedItem().toString();
	        		rsOeuvreTitre = Select.ListeOeuvreTitre(titre);
	        		System.out.print(titre);
		    	try
		    	      {
		    	          while (rsOeuvreTitre.next())
		    	          {
		    	             String NUMGROUPE = rsOeuvreTitre.getString("NUMGROUPE");
		    	             String NOMGROUPE = rsOeuvreTitre.getString("NOMGROUPE").trim();
		    	             //jListNom.
		    	             info.add(NUMGROUPE);
		    	             info.add(NOMGROUPE);
		    	             jListNom.updateUI();
		    	            }
		    	        System.out.println(info);
		    	        }
		    	        catch(Exception e)
		    	        {
		    	           System.out.println("Exception " + e.getMessage());
		    	        }
		    	        jComboBoxNom.setSelectedIndex(-1); 
		    	        jButtonRecherche.setEnabled(false);
		}
Ajouter un commentaire
Réponse
+0
moins plus
Re,

Tu peux essayer ?

-------
---------
while (rsOeuvreTitre.next())
		    	          
{
		    	             
String NUMGROUPE = "- NuméroGroupe : " + rsOeuvreTitre.getString("NUMGROUPE");
String NOMGROUPE = "- NomGroupe : " + rsOeuvreTitre.getString("NOMGROUPE").trim();
//jListNom.
		    	           
info.add(NUMGROUPE);
info.add(NOMGROUPE);
jListNom.updateUI();
--------------
------------------
Ajouter un commentaire
Réponse
+0
moins plus
oui je vais essayer merci de prendre du temps pour moi!
Ajouter un commentaire
Réponse
+0
moins plus
Oracle beug chez moi.

Je testerai lundi matin du coup et je te tiendrais au courant.

Merci beaucoup de ton aide en tout cas.
Ajouter un commentaire
Réponse
+0
moins plus
Ca marche nikel danimo.

Merci encore
Ajouter un commentaire
Réponse
+0
moins plus
et maintenant pour encore une meilleur mise en forme, je voudrais rajouter " Voici les infos pour le titre sélectionné".

Ca marche mais quand j'ai plusieurs groupes pour le titre sélectionné ben il s'affiche plusieurs fois alors que je l'ai mis or de la boucle^^

Et autrement comment peut on mettre un espace entre deux lignes???

Voici le code :

	        		info.clear();
	        		String titre = jComboBoxNom.getSelectedItem().toString();
	        		rsOeuvreTitre = Select.ListeOeuvreTitre(titre);
	        		System.out.print(titre);
	        		
		    	try
		    	      {
		    	          while (rsOeuvreTitre.next())
		    	          {
		    	        	 String TITRE = "Les infos du titre est : ";
		    	             String NUMGROUPE = "- Numéro du groupe : " + rsOeuvreTitre.getString("NUMGROUPE");
		    	             String NOMGROUPE = "- Nom du groupe : " +  rsOeuvreTitre.getString("NOMGROUPE").trim();
		    	             info.add(TITRE);
		    	             info.add(NUMGROUPE);
		    	             info.add(NOMGROUPE);
		    	             jListNom.updateUI();
		    	            }
		    	        System.out.println(info);
		    	        }
		    	        catch(Exception e)
		    	        {
		    	           System.out.println("Exception " + e.getMessage());
		    	        }
		    	        jComboBoxNom.setSelectedIndex(-1); 
		    	        jButtonRecherche.setEnabled(false);


Merci d'avance
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

Je ne vois pas quelles sont les lignes que tu veux "espacer".
Qu'y a-t-il dans chacune des 2 lignes.
Si tu pouvais m'en dire un peu plus sur la structure des lignes ce serait bien.

Je dois avouer que je n'utilise jamais les vecteurs (trop de "deprecated").
En plus chez moi au Mexique il est 3:12 et je n'ai plus les idées très claires.

Ce qu'il faudra qu'on ajoute quelque part c'est un code de saut de ligne.

Quel est ton OS?

Concernant le titre, tu dis qu'il n'est pas dans la boucle, mais on trouve:
		    	          while (rsOeuvreTitre.next())
		    	          {
		    	        	 String TITRE = "Les infos du titre (est)  sont: ";

C'est de ce titre qu'il est question?

@+

Dan
Ajouter un commentaire
Réponse
+0
moins plus
oui mais je l'ai remis dans la boucle le : String TITRE = "Les infos du titre (est) sont: ";

   while (rsOeuvreTitre.next())
{
 String TITRE = "Les infos du titre est : ";
--- ESPACE ICI ---
 String NUMGROUPE = "- Numéro du groupe : " + rsOeuvreTitre.getString("NUMGROUPE");
String NOMGROUPE = "- Nom du groupe : " +  rsOeuvreTitre.getString("NOMGROUPE").trim();
		    	             info.add(TITRE);
		    	             info.add(NUMGROUPE);
		    	             info.add(NOMGROUPE);
		    	             jListNom.updateUI();
		    	            }
Ajouter un commentaire
Réponse
+0
moins plus
Salut,

   while (rsOeuvreTitre.next())
{
 String TITRE = "Les infos du titre est :\n "; // ou \n\n ... ici <<<<<<<<<<<<<<<<<<<<
--- ESPACE ICI ---
 String NUMGROUPE = "- Numéro du groupe : " + rsOeuvreTitre.getString("NUMGROUPE");



Ou bien en variables de classe:
--------------
------------
/** Saut d'une ligne. **/
      private static final String NL_1 = System.getProperty("line.separator");
      /** Saut de deux lignes. **/
      private static final String NL_2 = NL_1 + NL_1;
------------------
-------------------



Et à l'utilisation:

</code>
--------------------------
------------------
while (rsOeuvreTitre.next())
{
String TITRE = "Les infos du titre est : " + NL_1; // NL_1 ou NL_2 ou NL_1 + NL_2 etc...ici <<<<<<<<<<<<<<<<<<<<
--- ESPACE ICI ---
String NUMGROUPE = "- Numéro du groupe : " + rsOeuvreTitre.getString("NUMGROUPE");
--------------------------
</code>
Cordialement,
Dan
Ajouter un commentaire
Réponse
+0
moins plus
Et je voulais savoir si je peux ajouter aussi dans la liste le titre sélectionné dans la combobox.

Genre :

while (rsOeuvreTitre.next())
{
String TITRE = "Les infos du titre "NomTitreSelectionnéDansCombobox" est : " + NL_1; // NL_1 ou NL_2 ou NL_1 + NL_2 etc...ici <<<<<<<<<<<<<<<<<<<<
--- ESPACE ICI ---
String NUMGROUPE = "- Numéro du groupe : " + rsOeuvreTitre.getString("NUMGROUPE"); 


Vu que celui ci est dans un vecteur aussi....

Merci de prendre du temps pour moi...
Ajouter un commentaire
Réponse
+0
moins plus
Re,

Si c'est bien celui-ci:
private Vector <String> info = new Vector<String> ();
info.clear();
String titre = jComboBoxNom.getSelectedItem().toString();


Tu supprimes String de String titre, mais tu le déclares en variable de classe
-----------
private static String titre;
--------

           private Vector <String> info = new Vector<String> ();
           info.clear();
           titre = jComboBoxNom.getSelectedItem().toString() + NL_1;


Et tu l'ajoutes au bon endroit (peut-être avant info.add(TITRE);

info.add(titre);


Remarque:

Les variables de classes que je t'ai demandé d'ajouter doivent peut-être l'être en non static.
N'oublie pas que je n'ai pas une vue complète de to code...

Dan
Ajouter un commentaire
Réponse
+0
moins plus
Ok merci beaucoup Dan.

Je test demain le code et je te tiens au courant demain matin!!

Encore merci de prendre du temps pour moi qui galère en java(je débute)!

A demain
Ajouter un commentaire
Réponse
+0
moins plus
Ca ne marche pas, ça me renvoi "true" au lieu du titre choisi dans la combobox.

Voici le code ma combobox :

private JComboBox getJComboBoxNom()
	{
		if (jComboBoxNom == null) 
		{
			Vector <Oeuvre> oeu = new Vector<Oeuvre> ();
			jComboBoxNom = new JComboBox(oeu);
			jComboBoxNom.setBounds(new Rectangle(198, 44, 163, 19));
			jComboBoxNom.setEditable(true);
			jComboBoxNom.isEditable();
	        rsOeuvre = Select.ListeOeuvre();   
	        
	        try
	        {
	            while (rsOeuvre.next())
	            {
	            	Oeuvre oeuvre = new Oeuvre();
	            	oeuvre.settitreOeuvre(rsOeuvre.getString(3));
	            	oeu.add(oeuvre);
	            }
	        System.out.println(oeu);
	        }
	        catch(Exception e)
	        {
	           System.out.println("Exception " + e.getMessage());
	        }
	        jComboBoxNom.addActionListener(new java.awt.event.ActionListener() 
			{
				public void actionPerformed(java.awt.event.ActionEvent e) 
				{
					jButtonRecherche.setEnabled(true);					
				}
			});

		}
		return jComboBoxNom;
	}


Cordialement,

Grefer2luxe
Ajouter un commentaire
Réponse
+0
moins plus
Salut,

J'ai oublié de cocher la case Recevoir les réponses par mail...

Et entre TITRE et NUMGROUPE tu as l'interligne supplémentaire ?

Je vais essayer de récapituler.

En variable de classe en non static car j'ai vu que la méthode info ne l'était pas.
Et en variables de classe pour que titre, NL_1 et NL_2 soient visibles dans la boucle

----------- 
/** Le titre sélectionné dans la combo **/ 
private String titre;   
/** Saut d'une ligne. **/ 
      private final String NL_1 = System.getProperty("line.separator"); 
/** Saut de deux lignes. **/ 
      private final String NL_2 = NL_1 + NL_1; 
-------- 

info:
private Vector <String> info = new Vector<String> (); 
      { 
         info.clear(); 
         titre = jComboBoxNom.getSelectedItem().toString() + NL_2; //titre sans String 
         rsOeuvreTitre = Select.ListeOeuvreTitre(titre); 
         System.out.print(titre); 
         info.add(titre); // une seule fois je suppose 
         try 
         { 
            while (rsOeuvreTitre.next()) 
            { 
               String TITRE = "Les infos du titre sont :" + NL_1; 
               String NUMGROUPE = "- NuméroGroupe : " + rsOeuvreTitre.getString("NUMGROUPE"); 
               String NOMGROUPE = "- NomGroupe : " + rsOeuvreTitre.getString("NOMGROUPE").trim(); 
             
            //jListNom. 
               info.add(TITRE);  
               info.add(NUMGROUPE); 
               info.add(NOMGROUPE); 
             
               jListNom.updateUI(); 
            } 
                    
            System.out.println(info); 
          
         } 
            catch(Exception e) 
            { 
               System.out.println("Exception " + e.getMessage()); 
            } 
       
         jComboBoxNom.setSelectedIndex(-1);  
         jButtonRecherche.setEnabled(false); 
      }


J'espère que tout y est.

Mais bien entendu je ne peux pas tester.

Cordialement,

Dan
Ajouter un commentaire
Réponse
+0
moins plus
Oui c'est bon..Merci beaucoup Dan!

Je viens de découvrir un autre petit problème c'est que enfet je récupère le nom et le prénom d'un membre dans un combobox nikl et après je voudrais que quand je sélectionne un membre dans la combobox, les infos correspondants au membre sélectionné s'affiche dans des jtextfields et combobox!!Et je galère dessus comme c'est pas permis!!

Je récupère les nom et prénoms avec un vecteurs mais après je en sais pas comment affiché les données correspondants a ce membre dans d'autres types de composents...

Merci de ton aide
Grefer2luxe- 25 janv. 2011 à 19:00
Oui c'est ce que je pensé mais non!!

Ca ne marche pas!!

Regarde mon code :

private JComboBox getJComboBoxNom() {
		if (jComboBoxNom == null) {
		    Vector <Membre> nomPrenom = new Vector<Membre> ();
			jComboBoxNom = new JComboBox(nomPrenom);
			jComboBoxNom.setBounds(new Rectangle(177, 26, 153, 20));
			jComboBoxNom.setPreferredSize(new Dimension(120, 20));	 
			rsMembre = Select.ListeMembre();

	        try
	        {
	            while (rsMembre.next())
	            {
	               Membre r = new Membre();
	               r.setnumPersonne(rsMembre.getInt(1));
	               r.setnumGroupe(rsMembre.getInt(2));
	               r.setresponsabiliteMembre(rsMembre.getString(3).trim());
	               r.setdateNaissanceMembre(rsMembre.getDate(4));
	               r.setnomPersonne(rsMembre.getString(5).trim());
	               r.setprenomPersonne(rsMembre.getString(6).trim());
	               r.settitreCivilite(rsMembre.getString(7).trim());
	               nomPrenom.add(r);
	            }
	        System.out.println(nomPrenom);
	        }
	        catch(Exception e)
	        {
	           System.out.println("Exception " + e.getMessage());
	        }
	        jComboBoxNom.setSelectedIndex(-1);
	        jComboBoxNom.addActionListener(new java.awt.event.ActionListener() {
	      	public void actionPerformed(ActionEvent ae)
	        	{	
	        		infos.clear();
	        		String nom = jComboBoxNom.getSelectedItem().toString();
	        		String prenom = jComboBoxNom.getSelectedItem().toString();
	        		rsMembreRech = Select.ListeMembreNom(nom, prenom);
	    			
	    			try
	    	        {
	    	            while (rsMembreRech.next())
	    	            {      
	    	            	   Membre m = new Membre();
	    	            	   
	    	            	   // m.setnumPersonne(rsMembreRech.getInt(1));
	    	            	   //m.setnomPersonne(rsMembreRech.getString(5));
	    	            	   //m.setprenomPersonne(rsMembreRech.getString(6));
		    	               String nompersonne = rsMembreRech.getString("nompersonne");
		    	               //Membre numgroupe = rsMembreRech.getString("numpersonne");
		    	               //String prenompersonne = rsMembreRech.getString("nomgroupe");
		    	               nomM.add(nompersonne);
		    	               //infos.add(numpersonne);
		    	               //infos.add(prenompersonne);
		    	               jTextFieldNomMembre.setText(infos.get(5));
	    	            	   //rech.add(m);
	    	            }
	    	        System.out.println(infos);
	    	        }
	    	        catch(Exception e)
	    	        {
	    	           System.out.println("Exception " + e.getMessage());
	    	        }
	        	}
	        });
	}	
	return jComboBoxNom;
	}



Ca c'est le code de la combobox qui récupère parfaitement les noms et les prénoms( ce qui correspond au premier vecteur nomPrenom) mais la deuxième partie qui ce trouve dans le actionPerformed ne marche pas.
J'ai voulu récupérer les données dans un vecteur pour chaque donnée du membre et après insérer le vecteur dans le champ text ou la combo mais impossible!!!

Merci Dan
danimo- 25 janv. 2011 à 19:30
OK mais je veux pouvoir tester avant de répondre des âneries. Alors donne moi le code de la création du vecteur stp.
Grefer2luxe- 25 janv. 2011 à 19:42
Pas de problème :

private Vector <String> infos = new Vector<String>();  
	private Vector <String> numM = new Vector<String>();
	private Vector <String> numG = new Vector<String>();
	private Vector <String> dateM = new Vector<String>();
	private Vector <String> nomM = new Vector<String>();
	private Vector <String> prenomM = new Vector<String>();
	private Vector <String> respM = new Vector<String>();
	private Vector <String> titreM = new Vector<String>();


Si tu veux d'autre infos nécite pas
Ajouter un commentaire
Réponse
+0
moins plus
Finalement, il me manque trop de choses pour pouvoir tester.

Modifie ton code comme ceci:
                           while (rsMembreRech.next())
                           {      
                              Membre m = new Membre();
                           
                           // m.setnumPersonne(rsMembreRech.getInt(1));
                           //m.setnomPersonne(rsMembreRech.getString(5));
                           //m.setprenomPersonne(rsMembreRech.getString(6));
                              String nompersonne = rsMembreRech.getString("nompersonne");
                           //Membre numgroupe = rsMembreRech.getString("numpersonne");
                           //String prenompersonne = rsMembreRech.getString("nomgroupe");
                              nomM.add(nompersonne);
                           //infos.add(numpersonne);
                           //infos.add(prenompersonne);
                              jTextFieldNomMembre.setEnabled(true); //<<<<<<<<<<<<<
                              jTextFieldNomMembre.requestFocusInWindow();//<<<<<<
                              jTextFieldNomMembre.setText(infos.get(5));
                           //rech.add(m);
                           }

et dis moi si c'est mieux...
Ajouter un commentaire
Réponse
+0
moins plus
Je vais manger!
Je test après
Ajouter un commentaire
Ce document intitulé « Mise en forme text dans jlist java » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?
Mise en forme text dans jlist java - page 2