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

Java Discussion :

Problème d'affichage JLabel


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 70
    Par défaut Problème d'affichage JLabel
    Bonjour

    je suis en train de coder un programme en java qui recupère toutes les interventions d'un client; alors je veux que ces dernières s'affichent sur une interface graphique sous forme de Labels.
    bon pour le cas ou la requête recupère un seul élément j'ai pas de problème s'affiche super bien mais le cas ou j'ai plusieurs élément recupérer à ce moment là ou j'ai les données imbriquées chose qui est normal parce que j'ai pas défini un paramètre pour afficher les labels successivement.
    j'ai cherché quelque part j'ai trouve que c'est possible de le faire en HTML mais moi je demande si c'est de le coder en java.



    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
     
     
                    final String url = "jdbc:odbc:dbrescue"; 
    		     	Connection con = null; 
    		     	Statement requete = null;
    		     	boolean trouv = false;
    				try {
    	     		Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
    	     	    con = DriverManager.getConnection(url,"","");
     
    	     		// création de la requête
    	     		requete = con.createStatement();
    	     		// exécution de la requête
     
    	     	ResultSet	resultat1 = requete.executeQuery("select  N_INTERINT, DATE_ENTREE, DATE_INTERINT, DATE_FACTURATION, DATE_SORTIE, PROBLEMATIQUE, DESCRIPTION,  COUT, MODE_PAIEMENT, INTSTATUT, N_CLIENT from Interventioninter where  N_CLIENT ="+Rclient.Nmclient+" ");
     
    	     	 //hna 
     
     
     
     
     
     
    	     	while (resultat1.next()) {
     
    		     	Nveninter = resultat1.getString(1);
    	     	    Dentreinter= resultat1.getString(2);
    	     	    Dinterveninter = resultat1.getString(3);
    	     	    Dfacturinter =resultat1.getString(4);
    	         	Dsorinter =resultat1.getString(5);
    	     	    Pveninter= resultat1.getString(6);
    	     	    Descripinter =resultat1.getString(7);
    	     	    Cveninter =resultat1.getString(8);
    	     	    Modpinter =resultat1.getString(9);        		     	    	          		     	     
    	     	    Statinter =resultat1.getString(10);
     
    	     	    JLabel  Labeltest=new JLabel(Nveninter+ Dentreinter + Pveninter); 
    		     	Labeltest.setFont(new Font("TimesRoman", Font.BOLD, 40));
    		     	Labeltest.setForeground(Color.red);
    		     	Labeltest.setBounds(500,150,500,35);          
    		     	pan.add(Labeltest);
    	     	  // Labeltest.setText(Rclient.Nomclient+ Rclient.Prenomclient + Rclient.Ntelclient);
    	     	    Labeltest.setBounds(500,150,500,35);          
    		     	pan.add(Labeltest);
    	     	       }
     
    	     	try {
    	               if (Nveninter == null)
    		                throw new Exception();
     
    	          } catch (Exception e) {
    	              // TODO Auto-generated catch block
    		        	 // JOptionPane.showMessageDialog(null,"Aucune intervention trouvée" );
     
    	        	  JLabel  Labeltet=new JLabel("Aucune intervention trouvée"); 
    			     	Labeltet.setFont(new Font("TimesRoman", Font.BOLD, 40));
    			     	Labeltet.setForeground(Color.red);
    			     	Labeltet.setBounds(500,150,500,35);          
    			     	pan.add(Labeltet);
     
     
     
    	      }
     
     
     				} catch (ClassNotFoundException e1) {
    		     		// TODO Auto-generated catch block
    		     		e1.printStackTrace();
    		     	} catch (SQLException e2) {
     					// TODO Auto-generated catch block
     					e2.printStackTrace();
     				} catch (Exception e3) {
     					e3.printStackTrace();
     				}
     
     				finally { 
    					try {con.close();
    					   requete.close();
     
    					} 
    					catch(final SQLException e1) {e1.printStackTrace();} 
    				}

    Ps: si c'est obligatoire de passer par HTML je prefère me servir du JTable

    merci d'avance

  2. #2
    Membre actif Avatar de freelibre
    Profil pro
    Inscrit en
    Février 2005
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 68
    Par défaut JTable est la meilleur Solution !
    Salut;
    Utilise la JTable c'est la meilleur solution.

    dans le code que tu donne tous les éléments sont affichés à la meme position sur ton panel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Labeltest.setForeground(Color.red);
    Labeltest.setBounds(500,150,500,35); //Positionnement sur le panel
    pan.add(Labeltest);
    Labeltest.setBounds(500,150,500,35); //même positionnement donc superposition des labels et la boucle continue avec la même position !!! 
    pan.add(Labeltest);
    }
    faire un grille dans ton panel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    panel.setLayout(new GridLayout(nombreLignes, nombreColonnes))
    ou fait seulement sans preciser le positionnement en enlevant la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Labeltest.setBounds(500,150,500,35)
    le panel utilise une ligne et autant de colonne que d'élément ajouter Layout par défaut

    Bonne continuation

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 70
    Par défaut
    Salut; merci de me repondre;
    bon j'ai pas compris oue je mets cette commande panel.setLayout(new GridLayout(nombreLignes, nombreColonnes)) et ça sert en quoi ???.

    Actuellement j'utilise le JTable mais je recontre avec quelque propblèmes; le premier est la connexion avec la base. voila le code que j'ai fait


    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
                    final String url = "jdbc:odbc:dbrescue"; 
    		     	Connection con = null; 
    		     	Statement requete = null;
    		     	boolean trouv = false;
    				try {
    	     		Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
    	     	    con = DriverManager.getConnection(url,"","");
     
    	     		// création de la requête
    	     		requete = con.createStatement();
    	     		// exécution de la requête
     
    	     	ResultSet	resultat1 = requete.executeQuery("select  N_INTERINT, DATE_ENTREE, DATE_INTERINT, DATE_FACTURATION, DATE_SORTIE, PROBLEMATIQUE, DESCRIPTION,  COUT, MODE_PAIEMENT, INTSTATUT, N_CLIENT from Interventioninter where  N_CLIENT ="+Rclient.Nmclient+" ");
     
    	     	 //hna 
     
     
     
     
     
     
    	     	while (resultat1.next()) {
     
    		     	Nveninter = resultat1.getString(1);
    	     	    Dentreinter= resultat1.getString(2);
    	     	    Dinterveninter = resultat1.getString(3);
    	     	    Dfacturinter =resultat1.getString(4);
    	         	Dsorinter =resultat1.getString(5);
    	     	    Pveninter= resultat1.getString(6);
    	     	    Descripinter =resultat1.getString(7);
    	     	    Cveninter =resultat1.getString(8);
    	     	    Modpinter =resultat1.getString(9);        		     	    	          		     	     
    	     	    Statinter =resultat1.getString(10);
     
     
    	     	   String[][] data = new String[][] {"Nveninter", "Dentreinter", "Dinterveninter", "Dfacturinter", "Dsorinter", "Pveninter", "Descripinter", "Cveninter", "Modpinter","Statinter"};
    		     	  String[] cols = {"N° d'intervention", "Date d'entrée", "Date d'intervention", "Date de facturation", "Date de sortie", "Problèmatique", "Coût", "Mode de paiement", "Statut"};
    		     	  JTable tab = new JTable(data, cols);
     
    		     	  JScrollPane sp = new JScrollPane(tab);
     
    		     	  pan.add(sp);
     
    	                  }
     
     
     				} catch (ClassNotFoundException e1) {
    		     		// TODO Auto-generated catch block
    		     		e1.printStackTrace();
    		     	} catch (SQLException e2) {
     					// TODO Auto-generated catch block
     					e2.printStackTrace();
     				} catch (Exception e3) {
     					e3.printStackTrace();
     				}
     
     				finally { 
    					try {con.close();
    					   requete.close();
     
    					} 
    					catch(final SQLException e1) {e1.printStackTrace();} 
    				}



    Ps: quand je complie je recupère erreur :Type mismatch: cannot convert from String to String[]



    Merci d'avance

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 70
    Par défaut
    re
    désolé j'ai oublié de precise que l'erreur que j'ai c'est au niveau de recupération des datas exactement dans cette ligne:
    String[][] data = new String[][] {"Nveninter", "Dentreinter", "Dinterveninter", "Dfacturinter", "Dsorinter", "Pveninter", "Descripinter", "Cveninter", "Modpinter","Statinter"};

    merci

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 70
    Par défaut
    re encore une fois

    en fait apres 24h de recherhce lol j'ai reussi à afficher le tableau mais sans titres lol bon déja j'ai une autre problème quand la requete doit recupérer plus qu'un élément (ligne) je n'ai qu'une seule ligne. je te laisse le code tout en esperant que tu puisse reperer l'erreur. merci d'avance.

    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
     
                    final String url = "jdbc:odbc:dbrescue"; 
    		     	Connection con = null; 
    		     	Statement requete = null;
    		     	boolean trouv = false;
    				try {
    	     		Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
    	     	    con = DriverManager.getConnection(url,"","");
     
    	     		requete = con.createStatement();
     
    	     	ResultSet	resultat1 = requete.executeQuery("select  N_INTERINT, DATE_ENTREE, DATE_INTERINT, DATE_FACTURATION, DATE_SORTIE, PROBLEMATIQUE, DESCRIPTION,  COUT, MODE_PAIEMENT, INTSTATUT, N_CLIENT from Interventioninter where  N_CLIENT ="+Rclient.Nmclient+" ");
     
    	     	Object[] cols = {"N° d'intervention", "Date d'entrée", "Date d'intervention", "Date de facturation", "Date de sortie", "Problèmatique", "Coût", "Mode de paiement", "Statut"};
     
     
         	          while (resultat1.next()) {
     
       	     	           Nveninter = resultat1.getString(1);
            	           Dentreinter= resultat1.getString(2);
            	           Dinterveninter = resultat1.getString(3);
            	           Dfacturinter =resultat1.getString(4);
                	       Dsorinter =resultat1.getString(5);
            	           Pveninter= resultat1.getString(6);
            	           Descripinter =resultat1.getString(7);
            	           Cveninter =resultat1.getString(8);
            	           Modpinter =resultat1.getString(9);        		     	    	          		     	     
            	           Statinter =resultat1.getString(10);
     
     
         	       Object[][] data =  
     
    {{Nveninter, Dentreinter, Dinterveninter, Dfacturinter, Dsorinter, Pveninter, Descripinter, Cveninter, Modpinter,Statinter}};		 
     
     
         	       JTable   tab = new JTable (data, cols);
        		   tab.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        	       tab.setBounds(200,250,800,100);
        		   JScrollPane stop = new JScrollPane(tab);
        		   pan.add(tab);                         }
     
         		     	try {
         		               if (Nveninter == null)
         			                throw new Exception();
     
         		          } catch (Exception e) {     		        	  
         		        	  JLabel  Labeltet=new JLabel("Aucune intervention trouvée"); 
         				     	Labeltet.setFont(new Font("TimesRoman", Font.BOLD, 40));
         				     	Labeltet.setForeground(Color.red);
         				     	Labeltet.setBounds(500,150,500,35);          
         				     	pan.add(Labeltet);        	       			        	 
         		                                 }
     
    				} catch (ClassNotFoundException e1) {
    	     		e1.printStackTrace();
    	     	    } catch (SQLException e2) {
    					e2.printStackTrace();
    				} catch (Exception e3) {
    					e3.printStackTrace();
    				                        }
     
    				finally { 
    				try {con.close();
    				   requete.close();
     
    				         } 
    				catch(final SQLException e1) {e1.printStackTrace();} 
    	                         }

Discussions similaires

  1. Problème d'affichage des images avec JLabel
    Par maxbond dans le forum Débuter
    Réponses: 6
    Dernier message: 11/04/2012, 11h40
  2. Problème d'affichage d'image dans un JLabel
    Par Ganymede dans le forum Composants
    Réponses: 1
    Dernier message: 11/05/2009, 15h37
  3. JLabel problème d'affichage
    Par rige47 dans le forum Composants
    Réponses: 1
    Dernier message: 17/11/2008, 14h37
  4. Problème affichage JLabel
    Par Vitaly dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 21/08/2007, 00h48
  5. Problème d 'affichage d une grile dans un JLabel
    Par louby dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 26/06/2006, 15h56

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