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 :

[Débutant]Insertion d'un bouton dans un JFrame


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 4
    Par défaut [Débutant]Insertion d'un bouton dans un JFrame
    Bonjour,

    je suis débutant en java, encore plus en programmation graphique et j'ai besoin de votre aide. Essayons d'être clair :

    je veux créer une fenetre et y inserer un bouton. J'ai opté pour une classe Button, dans laquelle je crée le bouton et une classe Reception (qui est la fenetre d'accueil) dans laquelle doit être inseré le bouton.

    Voici ma classe Button :

    public class Button
    {

    private String label ; // nom du bouton
    private int posX ; // la position en X du bouton
    private int posY ; // la position en Y du bouton
    private int sizeButtonX ; // longueur du bouton
    private int sizeButtonY ; // hauteur du bouton

    JButton myButton ;

    public Button(String label, int posX, int posY, int sizeButtonX, int sizeButtonY)
    {
    this.label = label ;
    this.posX = posX ;
    this.posY = posY ;
    this.sizeButtonX = sizeButtonX ;
    this.sizeButtonY = sizeButtonY ;
    createButton() ;
    }


    public void createButton()
    {
    myButton = new JButton(label) ;
    myButton.setBounds(posX, posY, sizeButtonX, sizeButtonY) ;
    }
    }
    Voici la classe Fenetre :

    public class Reception extends JFrame
    {

    Container c = getContentPane();
    Button b1 = new Button ("Bouton 1", 40, 30, 200, 70) ;

    /** Creates a new instance of Accueil */
    public Reception()
    {
    setVisible(true) ;
    setBounds(30, 40, 800, 600) ;
    setTitle("Accueil") ;
    c.setLayout(new FlowLayout()) ;
    c.add(b1) ;
    }
    }
    A la ligne c.add(b1), il me met une erreur ! pourquoi ?

    Merci à tous

  2. #2
    Membre émérite
    Avatar de bbclone
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 537
    Par défaut
    la classe java.awt.Container ne possede pas de methode add qui recoit en parametre un type Button.
    tu peut ajouter juste des Component

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 4
    Par défaut
    merci de ta réponse bbclone !
    si je comprends bien, je ne peux pas passer l'objet b1 à la méthode add ?
    j'ai remplacer c.add(b1) par c.add(b1.myButton) et l'erreur disparait. Seulement lorsque je lance l'application, la fenêtre se lance, mais le bouton n'apparait pas !
    Pffff, si quelqu'un peut m'aider, je me sens vraiment nul !

  4. #4
    Membre émérite
    Avatar de bbclone
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 537
    Par défaut
    essaie un truc comme ca :-)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    import javax.swing.*;
     
    public class MaClasse {
     
       public static void main(String... argv) {
            JFrame maFrame = new JFrame("Ma premiere frame"); // je crer une frame
            maFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // quand je ferme la frame je quitte tout
            maFrame.add(new JButton("mon bouton")); 
            maFrame.setSize(400, 300);
            maFrame.setVisible(true);
     
       }
    }
    c'est le plus simple qu'on peut faire comme fenetre avec un bouton.

  5. #5
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 4
    Par défaut
    En fait, j'aimerais, si possible, trouver la solution en gardant la structure actuel de mon programme !
    Donc je rappelle que c.add(b1) je l'ai remplacé par c.add(b1.myButton) et que l'erreur disparait, mais au lancement de l'application, mon bouton n'apparait pas dans la fenêtre

    Merci pour votre aide

  6. #6
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Il vaut mieux ajouter tous les composants à ta JFrame avant de l'afficher.
    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
    public class Reception extends JFrame { Container c = getContentPane(); Button b1 = new Button ("Bouton 1", 40, 30, 200, 70) ; /** Creates a new instance of Accueil */ public Reception() {
    setBounds(30, 40, 800, 600) ; setTitle("Accueil") ; c.setLayout(new FlowLayout()) ; c.add(b1) ; setVisible(true) ;
    } }


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

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

Discussions similaires

  1. Image animée et bouton dans une JFrame
    Par Chelz dans le forum Débuter
    Réponses: 5
    Dernier message: 27/01/2015, 09h29
  2. Réponses: 2
    Dernier message: 23/03/2013, 03h08
  3. Quel layout pour organiser mes boutons dans une JFrame ?
    Par zangaloni dans le forum Agents de placement/Fenêtres
    Réponses: 7
    Dernier message: 31/03/2009, 17h44
  4. [Débutant] Insertion d'un blob dans une table
    Par Rakken dans le forum SQL
    Réponses: 3
    Dernier message: 15/05/2007, 15h27
  5. Réponses: 3
    Dernier message: 10/02/2006, 16h48

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