Mise en forme text dans jlist java

Profil bloqué -  
 Profil bloqué -
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 392 Statut Membre 40
 
avec le code c'est mieux stp
et "mettre bien" c'est quoi selon toi?
0
Profil bloqué
 
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
Utilisateur anonyme
 
Salut,

jListNom = new JList(info);

Il y a quoi dans info ?

Dan
0
Profil bloqué
 
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
 
Ok,

Mais tu peux me donner un exemple d'une ligne (ou de plusieurs) de la Jlist obtenue ?
0
Profil bloqué
 
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
 
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é
 
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
 
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
 
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é
 
oui je vais essayer merci de prendre du temps pour moi!
0
Profil bloqué
 
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é
 
Ca marche nikel danimo.

Merci encore
0
Profil bloqué
 
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
 
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
Jean-Marc
 
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
 
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
Jean-Marc
 
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
 
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é
 
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é
 
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
Utilisateur anonyme
 
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é
 
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
 
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é
 
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
 
Ce sera le même principe que pour les titre d'oeuvre...
0
Profil bloqué
 
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
 
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
 
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é
 
Je vais manger!
Je test après
0