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 :

[JOptionPane] problème de couleur


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 [JOptionPane] problème de couleur
    Bonjour,
    Je souhaite personaliser un JOptionPane et notament mettre une couleur de fond. Cependant, je n'arrive pas à colorier la zone qui contient le TextField ou le TextArea

    une idée ?
    d'avance merci.
    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 expert
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Points : 3 401
    Points
    3 401
    Par défaut
    Quel code as tu utilisé pour colorer tout ça ?

    Peut être devras tu utilisé JDialog, et personnaliser ça toi même. Cependant, essaye quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    monOptionPane.getContentPane().setBackground(Color.yellow);
    Bonne chance.

  3. #3
    Membre expérimenté
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 011
    Points : 1 375
    Points
    1 375
    Par défaut
    Yes ce serait bien d'avoir le code source

  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
    Voili, voilà:

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
            JOptionPane jop        = null ;
            JTextArea textArea     = new JTextArea(""); 
            JTextField textField   = new JTextField(""); 
            JScrollPane scrollArea = new JScrollPane(textArea); 
            scrollArea.setPreferredSize(new Dimension(iWidth, iHeight));
            int  icon = JOptionPane.QUESTION_MESSAGE ;
            int  iReturn = 0;
            Icon iIcon = null ;
            if(sIconName != null)
            {
              Image img = loadImage(sIconName);
              if(img != null) iIcon  = new ImageIcon(img);
            }
            textField.setPreferredSize(new Dimension(iWidth, iHeight));
            // dialog font
            if(fDialogFont != null)
            {
              scrollArea.setFont(fDialogFont);
              textField.setFont(fDialogFont);
              textArea.setFont(fDialogFont);
            }
            // dialog colors
            if(cDialogFore != null)
            {
              scrollArea.setForeground(cDialogFore);
              textField.setForeground(cDialogFore);
              textArea.setForeground(cDialogFore);
            }
            if(cDialogBack != null)
            {
              scrollArea.setBackground(cDialogBack);
              textField.setBackground(cDialogBack);
              textArea.setBackground(cDialogBack);
            }
     
            if(iIcon != null)
            {
              if(bMulti)
                jop = new JOptionPane(new Object[] {sText, textArea},JOptionPane.QUESTION_MESSAGE,JOptionPane.OK_CANCEL_OPTION,iIcon);
              else
                jop = new JOptionPane(new Object[] {sText, textField},JOptionPane.QUESTION_MESSAGE,JOptionPane.OK_CANCEL_OPTION,iIcon);
            }
            else
            {
              if(bMulti)
                jop = new JOptionPane(new Object[] {sText, textArea},JOptionPane.QUESTION_MESSAGE,JOptionPane.OK_CANCEL_OPTION);
              else
                jop = new JOptionPane(new Object[] {sText, textField},JOptionPane.QUESTION_MESSAGE,JOptionPane.OK_CANCEL_OPTION);        
            }
            jop.setBackground(cDialogBack);
            jop.setForeground(cDialogFore);
            for(int i =0; i<jop.getComponentCount();i++) {
                jop.getComponent(i).setBackground(cDialogBack);
            }
     
            JDialog dialog = jop.createDialog(this, sTitle);
            if(iX < 0 || iY < 0) dialog.setLocationRelativeTo(formsMain.getFrame());
            else dialog.setLocation(iX, iY);
            dialog.setVisible(true);
            Object selectedValue = jop.getValue();
     
            if(((Integer)selectedValue).intValue() != JOptionPane.CANCEL_OPTION) 
            {
              if(bMulti) sReturn = textArea.getText();    
              else sReturn = textField.getText();
            }
    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
    Citation Envoyé par Janitrix
    essaye quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    monOptionPane.getContentPane().setBackground(Color.yellow);
    Bonne chance.
    pas mieux
    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
    Membre habitué
    Inscrit en
    Décembre 2005
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 251
    Points : 143
    Points
    143
    Par défaut
    Salut,
    essaye avec setOpaque(false) pour tes composant rétisant.
    Ils deviendront, normalement, transparant.

    bonne chance

  7. #7
    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
    c'est pire avec setOpaque(false).
    de plus la zone qui reste en gris est la seule sur laquelle je n'ai pas la main. C'est elle qui affiche le libellé du message.
    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

  8. #8
    Membre expert
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Points : 3 401
    Points
    3 401
    Par défaut
    sText est de type JLabel ?

    Pour le JTextArea, c'est peut être dû à la présence du JScrollPane, faut voir.

    Sinon, je ne vois pas d'autre solution que la création d'un JDialog, et encore, peut être auras-tu le même problème. Bonne chance.

  9. #9
    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
    sText est de type String.
    Le problème ne vient pas de la scrollarea puisque j'ai exactement le même problème avec le JTextField qui n'a pas de scroll area. (voir image du post initial)
    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

  10. #10
    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
    Après avoir récupéré récursivement les sous-composants du JOptionPane, j'obtiens bien le background voulu partout
    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

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

Discussions similaires

  1. Problème de couleur de lien sous IE
    Par Rekiem dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 21/09/2005, 13h47
  2. problème de couleur dans le Menu [MainMenu - ImageList]
    Par alec_002 dans le forum Composants VCL
    Réponses: 8
    Dernier message: 01/09/2005, 15h29
  3. [Problème] Mauvaise couleur de fond !
    Par MonsieurAk dans le forum Windows
    Réponses: 5
    Dernier message: 17/08/2005, 14h31
  4. [JOptionPane] Problème avec une boite de sauvegarde
    Par lanfeustdetroll dans le forum Agents de placement/Fenêtres
    Réponses: 15
    Dernier message: 03/08/2005, 17h33
  5. Probléme de couleur.
    Par Clad3 dans le forum OpenGL
    Réponses: 9
    Dernier message: 16/04/2005, 13h21

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