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

AWT/Swing Java Discussion :

[Débutant] construction d'un cadre


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 76
    Par défaut [Débutant] construction d'un cadre
    Bonjour

    Dans ma tete ce code sert à afficher une fenetre contenant deux JPanel. Chaque JPanel reçoit deux JButton.
    Ca fait 3 jours que je tourne en rond.
    Lorsque je lance la méthode main, j'obitens une fenetre grise. Quelqu'un peut-il me dire ce que j'ai mal fait ?

    J'utilise BlueJ.
    D'avance merci.


    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
     
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
     
    public class SwingPanel3
    {
        // déclaration des variables d'intsance
        SwingPanelCompos spc1 , spc2;
        JPanel pane = new JPanel();
     
        // construit un objet SwingPanel3.
        public SwingPanel3()
        {
            // mise en page utilisée pour pane BoxLayout les composants sur une même ligne
            pane.setLayout(new BoxLayout(pane,BoxLayout.X_AXIS));
     
            // texte des boutons du panneau 1
            String texteb1a = new String ("Bouton 1a");
            String texteb1b = new String ("Bouton 1b");
     
            // instance de SwingPanelCompos ajoutée au conteneur pane
            spc1 = new SwingPanelCompos(texteb1a,texteb1b);
            pane.add(spc1);
     
            // texte des boutons du panneau 2
            String texteb2a = new String ("Bouton 2a");
            String texteb2b = new String ("Bouton 2b");
     
            // instance de SwingPanelCompos ajoutée au conteneur pane
            spc2 = new SwingPanelCompos(texteb2a,texteb2b);
            pane.add(spc2);
        }
     
        public static void main (String[] args)
        {
            JFrame fenetre = new JFrame("SwingPanel3");
            SwingPanel3 sp3 = new SwingPanel3();
            fenetre.setContentPane(sp3.pane);
            fenetre.setVisible(true);
        }
    }
     
    class SwingPanelCompos extends JPanel
    {
        // variables d'instance
        JPanel p = new JPanel();
        JButton ba;
        JButton bb;
     
        // construit un Objet SwingPanelCompos, et récupère en arguments le texte des boutons
        SwingPanelCompos(String txt1,String txt2)
        {
            ba = new JButton(txt1);
            bb = new JButton(txt2);
     
            // mise en page BoxLayout en colonne 
            p.setLayout(new BoxLayout(p,BoxLayout.Y_AXIS));
     
            // boutons ba et bb ajoutés au panneau p
            p.add(ba);
            p.add(bb);
     
        }
    }

  2. #2
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    il faut employer this dans ta classe SwingPanelCompos à la place de p

    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
    class SwingPanelCompos extends JPanel 
    { 
        // variables d'instance 
        JPanel p = new JPanel(); 
        JButton ba; 
        JButton bb; 
     
        // construit un Objet SwingPanelCompos, et récupère en arguments le texte des boutons 
        SwingPanelCompos(String txt1,String txt2) 
        { 
            ba = new JButton(txt1); 
            bb = new JButton(txt2); 
     
            // mise en page BoxLayout en colonne 
            this.setLayout(new BoxLayout(p,BoxLayout.Y_AXIS)); 
     
            // boutons ba et bb ajoutés au panneau p 
            this.add(ba); 
            this.add(bb); 
     
        } 
    }
    parce que ce que tu ajoutes c'est une instance de la classe et pas p qui n'est qu'une variable de cette classe...

    Je sais pas si je me suis bien exprimé

  3. #3
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 76
    Par défaut
    Merci à toi, c'est très clair et ça marche bien maintenant.

  4. #4
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Derien

    Pense à mettre la balise résolu à ton message, c'est le petit bouton en bas à gauche, sous le lien "surveiller les messages de ce sujet"

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

Discussions similaires

  1. [Débutant]Construction de classe, passage de paramètres
    Par Isildur dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 06/02/2009, 19h43
  2. Réponses: 12
    Dernier message: 19/12/2008, 12h11
  3. [Débutante] Construction de Servlet
    Par mariamti dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 29/01/2008, 15h15
  4. [débutant][CSS] enlever le cadre A
    Par paterson dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 20/09/2006, 22h52
  5. [Débutant] Construction entrepot 3D
    Par lancer83 dans le forum Développement 2D, 3D et Jeux
    Réponses: 4
    Dernier message: 15/06/2006, 09h59

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