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

Langage Java Discussion :

Petit problème avec this


Sujet :

Langage Java

Vue hybride

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

    Informations forums :
    Inscription : Novembre 2008
    Messages : 56
    Par défaut Petit problème avec this
    Bonjour à tous et à toutes.

    Voici mon problème :
    Dans un objet anonyme, je veux créer une JDialog en lui donnant la JFrame dans laquelle elle devra se trouver mais j'ai un petit souci 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
    private JButton getBSupprimer() {
            if (bSupprimer == null) {
    	bSupprimer = new JButton();
    	bSupprimer.setBounds(new Rectangle(162, 161, 100, 20));
    	bSupprimer.setText("Supprimer");
    	bSupprimer.addActionListener(
    		new 
    		java.awt.event.ActionListener() {
    			public void actionPerformed(java.awt.event.ActionEvent e) 
    			{
    				try
    				{
                   				bank.supCompte(getTNumCompte().getText());
    				}
    				catch (CompteInexistant ci)
    		         	{
    					JDialog mess = new JDialog (this, ci.getMessage());
    				}
    			}
    		}
    	);
    }
    		return bSupprimer;
    	}
    Le problème est donc que si je fait comme c'est écrit dans le code, le this (en gras) est mon objet anonyme or moi je souhaiterais que se soit ma JFrame.
    Je crois me rappeller qu'il y a une syntaxe particulière pour écrire ce genre de chose mais je ne la retrouve plus.

    Merci par avance de votre aide.
    N'hésitez pas à me demander la totalité du code si besoin.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 268
    Par défaut
    Je ne sais pas si ça marche avec les classes annonymes, mais pour des sous-classes, il suffit de rajouter le nom de la classe principale devant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class UneClasse {
    //Sous-classe
     public class UneSousClasse{
       public void uneSousMéthode(){
         // Instance d'objet UneClasse en cours
         UneClasse.this.uneMéthode();
       }
     }
    }

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 56
    Par défaut
    Ca à l'air de fonctionner, Eclipse ne me met plus d'erreur, mais je n'ai pas encore exécuté.

    Merci de ta réponse JohnNC.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 56
    Par défaut
    J'ai réouvert ce topic car sur le même morceau de code, j'ai une erreur que je n'arrive pas à corriger :

    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
    private JButton getBSupprimer() {
    	if (bSupprimer == null) {
    	bSupprimer = new JButton();
    	bSupprimer.setBounds(new Rectangle(162, 161, 100, 20));
            bSupprimer.setText("Supprimer");
    	bSupprimer.addActionListener(
    	new 
    	java.awt.event.ActionListener() {
    		public void actionPerformed(java.awt.event.ActionEvent e) 
    		{
    			try
    			{
    				bank.supCompte(getTNumCompte().getText());
    			}
    			catch (CompteInexistant ci)
    			{
    				JOptionPane mess;
    		   	 	int retour;
    			
    		 	 	//Création d'un boite de message
    		   	 	mess = new JOptionPane ();
    		   	 	retour = mess.showMessageDialog (TestBanque.this, ci.getMessage(), "Erreur", JOptionPane.OK_CANCEL_OPTION);
    		   	 	mess.setVisible(true);
    					   	 	
    		   	 	if (retour == JOptionPane.OK_OPTION)
    		   	 	{
    		   	 		mess.setVisible(false);
    		   	 	}							
    			}
    		}
    	}
    );
    }
    return bSupprimer;
    }


    L'erreur est sur la ligne en gras, merci d'avance pour vos réponses.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 268
    Par défaut
    Quel est l'erreur ?
    Sinon, ces méthodes sont statiques, tu peux faire directement "JOptionPane.show...".

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 56
    Par défaut
    J'ai effectué le changement comme stipulé dans votre message. Mais sous Eclipse cette ligne est souligné et lorsque je clique sur l'erreur Eclipse ne me donne aucunes suggestions.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 268
    Par défaut
    Sur Eclipse, en appuyant sur F2, on peut sélectionner et donc copier le message.
    En attendant, regardes les méthodes de JOptionPane : showMessageDialog est "void", et ne peut donc pas retourner un entier. Je pense que "showConfirmDialog" serait plus adaptée.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 56
    Par défaut
    Ah oui effectivement, j'ai remplacé par showComfirmDialog et il n'y a plus d'erreur.
    Merci JohnNC.

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

Discussions similaires

  1. Petits problèmes avec une CListCtrl
    Par vanitom dans le forum MFC
    Réponses: 2
    Dernier message: 17/11/2005, 12h45
  2. Un petit problème avec pop
    Par Paulinho dans le forum C++
    Réponses: 4
    Dernier message: 13/11/2005, 21h57
  3. Petit problème avec Line Input
    Par GrosQuicK dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/09/2005, 13h47
  4. (Petit ?) problème avec une page contenant du Flash
    Par ologram dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 01/09/2005, 19h45
  5. Petit problème avec SDL
    Par Nyarlathotep dans le forum C
    Réponses: 10
    Dernier message: 01/07/2005, 10h10

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