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 :

Problème de transparence avec un JDialog


Sujet :

Agents de placement/Fenêtres 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 Problème de transparence avec un JDialog
    Bonjour,

    J'ai une classe qui étend un JPanel, que j'utilise pour afficher un panneau déroulant gràace à un HTMLPane dans un ScollPane.
    Lorsque j'ajoute un objet de cette classe dans n'importe quel conteneur, j'ai le panneau transparent de telle manière que le contenu défile sans masquer le fond du conteneur parent.
    Toutefois, lorsque j'ajoute cet objet à un JDialog, le panneau défile sur un fond gris, dont je ne comprends pas la raison.
    D'avance merci

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Comment tu ajoutes le panel au JDialog ?
    Quel résultat tu voudrais avoir exactement ?

    a++

  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
    Bonjour Maître,

    J'aimerai avoir le même rendu que lorsque j'ajoute ce composant dans d'autres conteneur, c'est à dire un panneau coulissant sans fond, qui affiche déroule le texte sur le fond du JDialog, lui-même recouvert d'un dégradé de couleurs.
    lorsque ce JPanel est ajouté à un JDialog, les texte HTML défile sur un fond gris pourri.

  4. #4
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Tu as définis un ContentPane sur ton JDialog ? C'est lui qui contiendra tes composants.

    A moins que tu ne veuilles avoir un JDialog transparent (uniquement possible depuis Java 6 update 10).

    a++

  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
    classe principale du dialog:
    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
     
    public class About extends JFrame
    {
        public About(Frame owner) {
          AboutBox dlg = new AboutBox(owner);
          dlg.setSize(420, 240);
          String sAutors = "<html><body><p style='font-familly: verdana; font-size: 14pt; color: #0064C8;'>";
          for(int z=0; z<DrawLAF.AUTHORS.length;z++)
            {
              if(z>0)sAutors += "<br>";
              sAutors += "&nbsp;" + DrawLAF.AUTHORS[z] ;
            }  
          sAutors += "</p></body></html>";
          ScrollPanel sp = new ScrollPanel(100,30,80,70,310,80) ;
          sp.setBorderPanel("loweredbevel",Color.black,1);
          sp.setPanelColor(DrawLAF.Current_Color_Light);
          sp.setContent(sAutors);
          sp.setLocation(80,70);
          sp.setSize(new Dimension(310,80));
          sp.startTimer();      
          sp.setPanelOpaque(false);
          dlg.add(sp);
          dlg.setVisible(true);      
        }
    }
    classe du dialogue:
    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
     
    class AboutBox extends JDialog {
        private URL            m_codeBase;
        private Image  img ;
        private String sJversion =  "JVM version " + System.getProperty("java.version") ;
        private String sBy = "by " + System.getProperty("java.vendor");
        public AboutBox(Frame owner) {
            super(owner, "About Forms' LAF", true); 
            ImageIcon im = new ImageIcon (getClass().getResource("/target-64.gif"));
            img = im.getImage() ;
            this.getContentPane().setLayout(null);
            WindowListener wl = new WindowAdapter() {
              public void windowClosed(WindowEvent e) {
                dispose();
              }          
            };
            addWindowListener(wl);
            pack();
            setResizable(false);
            setLocationRelativeTo(owner);
        }
        ...
    La classe ScrollPanel est définie comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public class ScrollPanel extends JPanel implements ActionListener, HyperlinkListener
    {
     ..
    }

  6. #6
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Pourquoi AboutBox étend-t-il JFrame ?
    Pourquoi tu positionnes ton ScrollPanel manuellement ?
    Enfin tu ne définis pas de ContentPane sur ton JDialog. Donc tu utilises le contentPane par défaut (avec un fond gris)

    a++

Discussions similaires

  1. Problème de transparence avec OpenGL
    Par yann458 dans le forum OpenGL
    Réponses: 15
    Dernier message: 16/12/2011, 08h43
  2. [ImageMagick] Transparence avec imagecopyresampled()
    Par kryogen dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 25/11/2007, 19h46
  3. Problème de Transparence avec SGE
    Par Clément76 dans le forum SDL
    Réponses: 1
    Dernier message: 28/07/2006, 16h16
  4. Réponses: 13
    Dernier message: 01/12/2005, 05h34
  5. Réponses: 5
    Dernier message: 18/03/2005, 20h10

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