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

Interfaces Graphiques en Java Discussion :

Aide à propos JCanvas


Sujet :

Interfaces Graphiques en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Par défaut Aide à propos JCanvas
    Bonjour

    j'ai créé une classe JCanvas qui hérite de JPanel comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public class JCanvas extends JPanel {......}
    selon le tutoriel ici

    Tout marche, seulement je n'arrive pas à modifier les options graphiques de ce JCanvas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    jc = new JCanvas();
    jPanel1.add(jc,java.awt.BorderLayout.CENTER);
    //pourquoi les instructions suivantes ne fonctionnent pas ????? :cry:
    jc.setLayout(new java.awt.BorderLayout());
    jc.setPreferredSize(new Dimension(400,400));
    jc.setMinimumSize(new Dimension(400,400));
    jc.setMaximumSize(new Dimension(400,400));
    jc.setBorder(javax.swing.BorderFactory.createEtchedBorder());
    jc.setBackground(new java.awt.Color(255, 255, 255));
    validate();
    Merci d'avance....

  2. #2
    Membre Expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Par défaut
    Salut,

    Tu devrais commencer par là :

    http://java.sun.com/docs/books/tutorial/uiswing/

    Notamment pour comprendre le principe de layout en Java Swing.

    ++

  3. #3
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Par défaut
    Merci pour la réponse, mais ça ne m'aide pas...

  4. #4
    Membre Expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Par défaut
    Citation Envoyé par HomerJK Voir le message
    Merci pour la réponse, mais ça ne m'aide pas...
    C'est que tu ne l'as pas consulté ou pas compris.
    Swing fonctionne sur un principe de layout qui prend le pas sur les éventuelles personnalisations de position/taille des composants ou en tout cas les rend moins évidentes au profit d'un positionnement plus rigoureux de ces composants.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    jc.setLayout(new java.awt.BorderLayout()); // Ne sert à rien si tu ne met aucun composant dans 'jc'
    jc.setPreferredSize(new Dimension(400,400)); // Tu as beau forcer la taille, jc prendra toute la place disponible dans son parent à cause du BorderLayout.CENTER
    jc.setMinimumSize(new Dimension(400,400)); // idem
    jc.setMaximumSize(new Dimension(400,400)); // idem
    jc.setBorder(javax.swing.BorderFactory.createEtchedBorder()); // ca ca devrait fonctionner normalement
    jc.setBackground(new java.awt.Color(255, 255, 255)); // Ca aussi
    validate(); // Ca ca ne devrait jamais être appelé, soit ton composant n'est pas encore affiché, auquel cas tu n'as pas à te soucier de la validation, soit ton composant est déjà affiché auquel cas il faut plutôt appeler revalidate()

  5. #5
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 9
    Par défaut
    C'est bon j'ai résolu le pb.

    Il fallait juste mettre un FlowLayout dans le jPanel1 et non un BorderLayout, puis ensuite ajouter jc (instance de JCanvas).

    Merci natha.

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

Discussions similaires

  1. [Batch] Aide à propos de Quartz Spring
    Par midoENSI dans le forum Spring
    Réponses: 2
    Dernier message: 26/10/2007, 09h09
  2. [List] Besoin d'aide à propos de liste de listes
    Par Moifairedujava dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 22/02/2007, 11h02
  3. [Débutant] Aide à propos de la Sérialisation
    Par dinver dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 27/01/2007, 15h03
  4. Besoin d'aide à propos de JSF
    Par mejri dans le forum JSF
    Réponses: 1
    Dernier message: 29/06/2006, 14h35
  5. Aide à propos des strings
    Par Invité dans le forum Général Python
    Réponses: 2
    Dernier message: 26/06/2006, 09h43

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