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

  1. #1
    Expert éminent sénior
    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
    Points : 11 862
    Points
    11 862
    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 ?
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  2. #2
    Membre confirmé 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
    Points : 554
    Points
    554
    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 éminent sénior
    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
    Points : 11 862
    Points
    11 862
    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...
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  4. #4
    Expert éminent sénior
    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
    Points : 11 862
    Points
    11 862
    Par défaut
    J'ai trouvé un lien interressant:
    http://java.sun.com/products/jfc/tsc/articles/mixing/
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  5. #5
    Expert éminent sénior
    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
    Points : 11 862
    Points
    11 862
    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...
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  6. #6
    Expert éminent sénior
    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
    Points : 11 862
    Points
    11 862
    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 ?
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  7. #7
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Dessiner une rectangle de la couleur du fond avant de dessiner ton RoundRectangle (c'est absolument pas propre, mais je ne connais guère la custo de composants AWT)
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

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