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 :

gestion du BACKGROUND en AWT


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 3
    Par défaut [RESOLU] gestion du BACKGROUND en AWT
    Premier post sur le Forum et encore débutant en java donc il possible que la question soit evidente...

    Je dois modifier une applet éxistante:
    Actuellement :
    les label et bouton sont mit dans l'objet et ensuite placé grace a des setbounds.

    Après mon passage,
    J'ai créer 3 container que j'ai placé avec des setbounds, et intégré dans ces container les boutons et label précédemment déclarer.

    Voici donc un extrait de mon code actuel :

    //définition des boutons etc
    labBookList = new java.awt.Button();

    labBookList.setLabel(" Marks ");
    labBookList.setFont(new Font("Helvetica", Font.PLAIN, 16));
    labTrace = new Label("Trace");
    Trace = new java.awt.CheckboxGroup();
    traceOn = new java.awt.Checkbox("ON");
    traceOff = new java.awt.Checkbox("OFF");
    traceOn.setCheckboxGroup(Trace);
    traceOff.setCheckboxGroup(Trace);
    traceOff.setState(true);
    chBookList = new java.awt.Choice();

    labDispMode = new java.awt.Label("Display:");
    cbgDispMode = new java.awt.CheckboxGroup();

    cbDispModePath = new java.awt.Checkbox("Path");
    cbDispModeTree = new java.awt.Checkbox("Tree");
    cbDispModePath.setCheckboxGroup(cbgDispMode);
    cbDispModeTree.setCheckboxGroup(cbgDispMode);
    cbDispModePath.setState(true);

    Font f1 = ColorApplet.fontApplet;

    chBookList.setFont(f1);

    labDispMode.setFont(f1);
    cbDispModePath.setFont(f1);
    cbDispModeTree.setFont(f1);
    traceOn.setFont(f1);
    traceOff.setFont(f1);

    treeView1.setFont(f1);

    labBookList.getParent();

    // Les 3 container que j'ai créer

    topContainer = new Container();
    topContainer.setBackground(Color.ORANGE);

    bottomContainer = new Container();
    bottomContainer.setBackground(Color.yellow);

    centralContainer = new Container();
    centralContainer.setBackground(Color.green);

    // je rentre les boutons et label dans mes containers

    topContainer.add(labBookList);
    topContainer.add(labTrace);
    topContainer.add(traceOn);
    topContainer.add(traceOff);

    bottomContainer.add(labDispMode);
    bottomContainer.add(cbDispModePath);
    bottomContainer.add(cbDispModeTree);

    centralContainer.add(treeView1);

    // J'intègre mes container
    add(topContainer);
    add(centralContainer);
    add(bottomContainer);


    // j'apelle ma fonction redim qui redimensionne, repaint etc...

    redim();
    Mon problème est que je ne vois jamais le backgroundColor de mes containers, par contre mes label, bouton etc prenne en compte le background du container puisqu'il l'utilise... de même pour un foreground color...

    Y a t'il moyen que tout le container apparaisse en couleur ??


    J'espère avoir été clair et que vous pourrez m'aider...
    CDLT

  2. #2
    Membre confirmé Avatar de philobedo
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2004
    Messages : 80
    Par défaut
    je suis pas un expert mais moi j'ajouterais les composants au ContentPane():

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    getContentPane().add(topContainer);
    getContentPane().add(centralContainer);
    getContentPane().add(bottomContainer);
    et ensuite je mettrais une couleur de fond au contentPane();

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getContentPane().setBackground(Color.RED);
    Par contre dans ce cas tous tes Container auront la même couleurs...

    ++
    Philobedo

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 3
    Par défaut
    Merci pour ton idée, j'ai essayé mais malheureusement, getContentPane() semble être une méthode swing et mon applet est en AWT...

    Concernant les container le but est aufinal d'avoir les 3 containeur pouvant avoir 3 couleurs différente (faire resortir certains élémentsplus que d'autres) et les couleurs peuvent être amenés à changer au cour de l'utilisation de l'applet.
    CDLT

  4. #4
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 3
    Par défaut
    Finalement j'ai remplacé les Container par des Panel et tout fonctionne.

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

Discussions similaires

  1. [VBA] Gestion en background des macros
    Par pitipilot dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/04/2013, 16h35
  2. Gestion du background lors de l'affichage d'un test
    Par _Michel dans le forum Windows
    Réponses: 3
    Dernier message: 22/01/2008, 19h32
  3. [AWT] Gestion des fenêtres
    Par saih_tam dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 02/04/2007, 22h15
  4. [C#][Débutant en C#]Gestion d'une image background
    Par Lucier dans le forum Windows Forms
    Réponses: 2
    Dernier message: 28/11/2006, 11h04
  5. [Débutant] image en background d'une Applet AWT
    Par xtofer dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 18/07/2006, 13h15

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