Mise en forme text dans jlist java

Fermé
Profil bloqué - 20 janv. 2011 à 16:11
 Profil bloqué - 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
A voir également:

21 réponses

CupidonAlien Messages postés 373 Date d'inscription samedi 14 mars 2009 Statut Membre Dernière intervention 27 avril 2011 40
20 janv. 2011 à 16:19
avec le code c'est mieux stp
et "mettre bien" c'est quoi selon toi?
0
Profil bloqué
21 janv. 2011 à 08:58
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
0
Salut,

jListNom = new JList(info);

Il y a quoi dans info ?

Dan
0
Profil bloqué
21 janv. 2011 à 11:56
c'est un vecteur qui récupère les groupes chantant un titre donnée;

PS : je t'avais laissé un message privé :)
0
Utilisateur anonyme
21 janv. 2011 à 12:48
Ok,

Mais tu peux me donner un exemple d'une ligne (ou de plusieurs) de la Jlist obtenue ?
0
Profil bloqué
21 janv. 2011 à 12:57
ben le résultat s'affiche comme ça :

1(numérogroupe)
Alison(nomgroupe)

La mise en forme du résultat de la requête est moche.

Moi je voudrais :

Voici la liste des groupes qui interprètent le titre : NomTitre(qui est récupéré dans la combobox au dessus)

- NuméroGroupe : VariableNumGroupe
- NomGroupe : VariableNomGroupe
0
Utilisateur anonyme
21 janv. 2011 à 13:06
ben le résultat s'affiche comme ça :

1(numérogroupe)
Alison(nomgroupe)

Sur 2 lignes ????

Et c'est une JList ou une Combo ?
0
Profil bloqué
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?
0
Utilisateur anonyme
21 janv. 2011 à 13:27
Il faudrait peut-être revoir la création du vecteur, tu peux me donner le code ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
21 janv. 2011 à 13:58
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();
--------------
------------------
0
Profil bloqué
21 janv. 2011 à 14:02
oui je vais essayer merci de prendre du temps pour moi!
0
Profil bloqué
21 janv. 2011 à 14:16
Oracle beug chez moi.

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

Merci beaucoup de ton aide en tout cas.
0
Profil bloqué
24 janv. 2011 à 08:30
Ca marche nikel danimo.

Merci encore
0
Profil bloqué
24 janv. 2011 à 09:22
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
0
Utilisateur anonyme
24 janv. 2011 à 10:27
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
0
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();
		    	            }
0
Utilisateur anonyme
24 janv. 2011 à 17:42
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
0
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...
0
Utilisateur anonyme
24 janv. 2011 à 18:39
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
0
Profil bloqué
24 janv. 2011 à 18:46
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
0
Profil bloqué
25 janv. 2011 à 08:32
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
0
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
0
Profil bloqué
25 janv. 2011 à 12:03
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
0
Utilisateur anonyme
25 janv. 2011 à 18:30
Tu l'as testé?

Je crois que c'est faux !!! Ta nouvelle question doit concerner la récup. des titres d'oeuvres.
Je commence enfin à comprendre ce que tu veux faire....

@+, j'arrive
0
Profil bloqué
25 janv. 2011 à 18:47
Ok merci j'ai gentil!

Ben mon nouveau problème c'est sur une autre applet qui concerne la gestion des membres!!
Et enfet je veux récupérer les données dans des champs textes et combo d'après le nom et prénom choisi dans une combobox!

Répond moi en message privé si tu veux
0
Utilisateur anonyme
25 janv. 2011 à 18:52
Ce sera le même principe que pour les titre d'oeuvre...
0
Profil bloqué
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
0
Utilisateur anonyme
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.
0
Utilisateur anonyme
25 janv. 2011 à 20:02
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...
0
Profil bloqué
25 janv. 2011 à 20:04
Je vais manger!
Je test après
0