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

Agents de placement/Fenêtres Java Discussion :

Jframe : Problème de "superposition" image de fond / bouton SUITE


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 24
    Points : 25
    Points
    25
    Par défaut Jframe : Problème de "superposition" image de fond / bouton SUITE
    Bonsoir

    J'aurai souhaité un éclaircissement s'il vous plait:

    Dans les posts suivant :
    http://www.developpez.net/forums/sho...d.php?t=296150

    Il a été abordé le problème de superposition que j'ai moi aussi rencontré.
    J'ai repris la solution proposé par lorie et ca marche très bien.

    Mon problème est que je ne comprend pas l'utilisation du this dans la déclaration de la fenêtre dans la classe AppliMain. Je souhaitais fermer la fenetre créée à l'aide d'un bouton mais jusqu'a présent j'avais toujours nommée mes fenetres et appelé la méthode nomDeMaFenetre.dispose(); mais dans le cas présent je ne sais pas quoi appelé depuis l'actionPerformed de mon bouton.

    Merci d'avance, vos réponses a lorie m'ayant déjà beaucoup aidé!

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2006
    Messages : 197
    Points : 279
    Points
    279
    Par défaut
    si j'ai bien compris ce que tu demandes, tu veux savoir ce que signifie le this.

    le this signifie simplement que l'on fait référence à la classe elle même.

    toi tu as toujours du instancier un objet de type JFrame comme ceci :
    JFrame f = new JFrame();

    la différence c'est que la ton objet AppliMain est en fait étendu (extends) d'une JFrame, ce qui veut dire qu'il est lui même une JFrame.

    l'avantage de l'étendre c'est que tu peux rajouter des méthodes dans ta JFrame. tu gardes donc toutes les méthodes d'un objet JFrame qui s'appliqueront donc sur ton objet AppliMain lui même d'ou le this.

    dans cet exemple le this. fait référence donc à AppliMain.

    en partant du principe que AppliMain est une frame quand tu utilise le this. tu peux utiliser toutes les méthodes liées à un objet JFrame et celles que tu as rajoutées dans ton code.

    pour fermer ta fenêtre dans ce cas précis faudra donc utiliser un this.dispose(); la ou tu le souhaite.

    alors si ton actionPerformed est dans une autre classe tu devra donc écrire <le nom de ton objet AppliMain>.dispose(); et si ton actionPerformed est dans la même classe le mieux est d'utiliser une méthode externe.

    dans ce cas c'est un peu spécial car ta classe étend une JFrame (elle est donc une JFrame) et elle implémente ActionListener ce qui veut dire qu'elle contiendra les méthodes de ActionListener que tu devra redéfinir toi même.

    par exemple :
    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
    public class AppliMain extends JFrame implements ActionListener {
        JButton b;
        public void actionPerformed(ActionEvent e) {
             if (e.getSource().equals(b)) {
                  fermer();
             }
        }
     
        private void fermer() {
            this.dispose();
        } 
     
        public AppliMain() {
            b = new JButton("bouton");
            b.addActionListener(this);
            (ton code) 
        }
     
        public void paint(Graphics g) {
            (ton code)
        }
     
     
        public static void main(String[] args) {
            new AppliMain();
        }
     
    }

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 24
    Points : 25
    Points
    25
    Par défaut
    ouah merci demonia

    En fait j'ai recréé une JFrame que j'ai nommée laFenetre et sur laquelle j'ai pu faire un dispose()

    Maintenant du coup je pense que j'ai deux choses qui se créént mais je vais faire ce que tu m'a dis, ca marche très bien

    Merci beaucoup pour cette réponse de nuit!!!!!!!!

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

Discussions similaires

  1. problème d'affichage d'une image de fond
    Par titi42 dans le forum Débuter
    Réponses: 4
    Dernier message: 16/09/2009, 19h11
  2. Image en fond bouton
    Par garpa dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 19/04/2007, 12h22
  3. Jframe : Problème de "superposition" image de fond / bouton
    Par lottie dans le forum Agents de placement/Fenêtres
    Réponses: 7
    Dernier message: 15/03/2007, 08h35

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