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 :

Swing JPanel sans fond


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 Swing JPanel sans fond
    Bonjour,

    Est-il possible de créer un JPanel sans fond (background = null) ?
    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 averti Avatar de let_me_in
    Inscrit en
    Mai 2005
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 441
    Points : 437
    Points
    437
    Par défaut
    ca veut dire quoi sans background, transparent?
    si oui
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tonPanel.setOpaque(true);
    qui dit Dieu n'existe pas dis que les programmes tournent sans processeur.

  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 voulais dire sans couleur de fond.
    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
    Membre averti Avatar de let_me_in
    Inscrit en
    Mai 2005
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 441
    Points : 437
    Points
    437
    Par défaut
    dans ce cas, tu dois redefinir la methode paintComponent(Graphics g) et a l'interieur tu mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public void paintComponent(Graphics g){
    g.setColor(couleur);
    super.paintComponent(g);
    }
    avec couleur une des couleurs de la class Color, si elles ne te conviennent pas, tu peux creer ta propre couleur avec mais je ne peux pas t'aider pour les parametres puisque je suis daltonien.
    qui dit Dieu n'existe pas dis que les programmes tournent sans processeur.

  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
    Merci, mais il doit y avoir mésentente. je voulais dire SANS couleur, sans fond, sans rien quoi

    En fait j'ai un problème de supperposition. j'ai un TextField dans une frame. je vois le textfield mais son invite (le libellé est masqué).

    J'ai vu que la méthode Add() prenait un second paramètre de type int
    add(Component*comp, int*index)

    quelqu'un peut m'expliquer quelles sont les valeurs que peut prendre l'entier index ?
    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é
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 128
    Points : 151
    Points
    151
    Par défaut
    Je crois que ce que tu veux c'est un panel transparent, non? Sinon je vois pas ce que tu veux dire par "sans couleur". Pour faire un panel transparent, regarde la première réponse de let_me_in...

  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
    Merci, mais le setOpaque ne résoud pas mon 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

  8. #8
    Membre chevronné
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Points : 2 208
    Points
    2 208
    Par défaut
    Citation Envoyé par let_me_in
    ca veut dire quoi sans background, transparent?
    si oui
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tonPanel.setOpaque(true);
    C'est pas plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tonPanel.setOpaque(false);
    ??


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  9. #9
    Gfx
    Gfx est déconnecté
    Expert éminent
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    Tu peux aussi remplacer ton JPanel par un JComponent. Mais setOpaque(false) reste la meilleure solution.
    Romain Guy
    Android - Mon livre - Mon blog

  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
    Que je passe l'argument a true ou false, le résultat est le même !
    le textField est bien affiché mais son invite ne l'est pas...
    (info, mon bean s'execute dans une appli Oracle Forms)
    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

  11. #11
    Membre averti Avatar de let_me_in
    Inscrit en
    Mai 2005
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 441
    Points : 437
    Points
    437
    Par défaut
    un petit bout de code pourra clarifier mieux je pense.
    qui dit Dieu n'existe pas dis que les programmes tournent sans processeur.

  12. #12
    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
    Hélas j'en doute car je ne peut livrer la partie Forms !

    Oracle Forms est une applet Java qui gère l'affichage des masques de saisie. sur le canvas, on place des items (champs de saisie, boutons,etc...) qui ne sont que des composants swing gérés par l'outil.
    Il est possible de placer un composant spécial (bean) qui n'est autre qu'un JavaBean.
    J'ai donc créé un bean qui créé un JPanel avec un bord de type Titled pour créer un cadre titré manipulable à l'exécution (ceux en standard dans Forms ne le sont pas). Tout est ok sauf l'invite des champs texte qui disparaissent dès que le JPanel apparait, que je mette le setOpaque à true où à false.

    Pour plus de précision, voir le lien suivant, mais je pense que la "couche" Forms introduit une belle inconnue, même pour les pros comme vous.
    http://forms.pjc.bean.over-blog.com/article-2040592.html
    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

  13. #13
    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 Gfx
    Tu peux aussi remplacer ton JPanel par un JComponent. Mais setOpaque(false) reste la meilleure solution.
    Je vois dans la doc que JComponent() est une classe abstraite et ne peut etre instancié.
    Comment fais-je alors pour créer un composant de ce type et mettre en oeuvre ses méthodes, par exemple SetBorder() ?
    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

  14. #14
    Gfx
    Gfx est déconnecté
    Expert éminent
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    JComponent monPanel = new JComponent() { };
    Romain Guy
    Android - Mon livre - Mon blog

  15. #15
    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
    Merci, je ne connaissais pas cette syntaxe.
    Toujours est-il que dans mon cas, elle provoque l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.lang.VerifyError: (class: oracle/forms/fd/frame$1, method: <init> signature: (Loracle/forms/fd/frame;)V) Expecting to find object/array on stack
    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

  16. #16
    Gfx
    Gfx est déconnecté
    Expert éminent
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    Ben la je ne peux plus t'aider car ca compile parfaitement avec mes JDK (1.5 et 1.6). J'ai souvent utilise cette technique et je n'ai jamais eu de probleme. Enfin cette syntaxe est juste celle des classes anonymes comme lorsqu'on cree des listeners (par exemple addMouseListener(new MouseListener() { ... }).
    Romain Guy
    Android - Mon livre - Mon blog

  17. #17
    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
    Moi aussi ça compile sans problème sous JDeveloper. c'est à l'exécution dans Forms que ça plante.
    Forms en est encore au 1.3, c'est peut-être la raison...

    En tout cas merci pour l'aide
    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

  18. #18
    Gfx
    Gfx est déconnecté
    Expert éminent
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    Ah c'est peut etre pour ca que tu as des probleme avec le setOpaque(). Bon, solution ultime : cree une classe qui herite de JPanel et surcharge la methode paintComponent() pour qu'elle ne fasse rien.
    Romain Guy
    Android - Mon livre - Mon blog

  19. #19
    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
    Ok, je vais essayer.
    Toutefois je ne suis pas certain que le problème vienne du setOpaque() dans la mesure ou les composants posés par dessus sont bien visibles. c'est uniquement les invites des boites de texte qui sont masquées.
    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

  20. #20
    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
    Même message, même punition !
    voici la classe que je déclare
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      public class myPanel extends JPanel
      {
        public myPanel() { setVisible(true); }
        protected void paintComponent(Graphics g) {
        }
      }
    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.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Swing] JPanel avec sa JScrollBar qui scrolle toute seule
    Par chcoust dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 22/11/2006, 14h37
  2. [swing]JTextPane sans line wrap automatique
    Par oca dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 21/02/2006, 08h40
  3. [JPanel] [Débutant] Fond dégradé dans un JPanel ??
    Par dymezac dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 15/02/2006, 16h33
  4. [Swing]Image en fond de JFrame+ objets par dessus
    Par matt92700 dans le forum Agents de placement/Fenêtres
    Réponses: 6
    Dernier message: 16/01/2006, 15h12
  5. [SWING][JPanel] pb de taille max d'un JPanel
    Par Psykorel dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 05/01/2006, 13h32

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