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 :

Mixte de AWT + Swing


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut Mixte de AWT + Swing
    Bonjour,
    Je me retrouve face à un problème sérieux de recouvrement d'objects par d'autres.
    Dans une application dont la plupart des composants sont AWT, j'incorpore des objets Swing. Malheureusement, ces derniers recouvrent toujours la zone d'affichage. En d'autres termes ils apparaissent toujours au premier plan. Lorsque l'application affiche plusieurs fenetres, les objects Swing de la fenêtre d'arrière plan écrasent la sufrace d'affichage de la fenêtre d'vant plan!
    Existe t-il une solution à ce problème ?

  2. #2
    Membre chevronné Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Par défaut
    2 possibilités :
    - Tout changer et passer exclusivement en Swing
    - Ne pas incorporer des composants Swing dans ton application AWT mais utiliser AWT...

    Il ne faut pas mélanger Swing et AWT sous peine de ce genre de bugs...

  3. #3
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Je n'ai pas le choix. L'applet est écrite en AWT et j'ai besoin des fonctionnalités de Swing, notament pour utiliser la fonction de Gradient pour peindre le fond des boutons...

  4. #4
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    J'ai trouvé un lien interressant:
    http://java.sun.com/products/jfc/tsc/articles/mixing/

  5. #5
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Apparament, rien ne m'empêche d'utiliser les gradients avec AWT.
    Je pourrais donc remplacer le JButton par un Button sans perte graphique.
    A Suivre...

  6. #6
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Je parviens à dessiner un gradient sur le bouton AWT (Button)

    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
     
    import java.awt.Button;
    import java.awt.Color;
    import java.awt.GradientPaint;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.Rectangle;
    import java.awt.geom.RoundRectangle2D;
     
    public class button extends Button 
      {
         public button(String sLabel)
         {
           this.setLabel(sLabel);
         }
     
         public void paint(Graphics g) { 
            Rectangle rec = this.getBounds();
            Graphics2D g2 = (Graphics2D) g ;
            GradientPaint gradient = new GradientPaint(0,0,Color.white,rec.width,rec.height,Color.lightGray);
            g2.setPaint(gradient);
            g2.fill(new RoundRectangle2D.Double(3,3,rec.width-6,rec.height-6,10,10)) ;        
        };
     
      }
    Toutefois, les bords carrés du bouton natif sont encore visibles.
    Existe t-il un moyen de render invisible le bouton natif ?

Discussions similaires

  1. [AWT/Swing] BorderLayout --> [SWT] ???Layout
    Par ®om dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 08/05/2006, 19h19
  2. faire un call graph en java avec awt/swing ou autre
    Par max25b dans le forum Graphisme
    Réponses: 2
    Dernier message: 06/05/2006, 14h32
  3. [AWT][Swing]JScrollPane et JTabbedPane
    Par willowII dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 04/11/2005, 09h54
  4. [Info]Conflit AWT-SWING
    Par leminipouce dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 07/04/2005, 20h15
  5. [Info]AWT, SWING, SWT
    Par ben23 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 13/04/2004, 10h28

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