Problème de couleur avec un JTabbedPane

Problème de couleur avec un JTabbedPane - Java - Programmation

Marsh Posté le 09-01-2006 à 22:25:46    

:hello:  
 
Je suis pas très bon (limite débutant) en Java et je suis tombé sur un os :
 
J'utilise un JTabbedPane dans une appli et j'ai voulu en changer les couleurs
sauf que je n'arrive pas à changer toutes les couleurs
comme vous pouvez le constater ci-dessous j'ai pu changer :
 
http://membres.lycos.fr/krx4hfr/couleur.gif
 

  • la couleur des tabs non selectionnés (ici un bleu turquoise) via le setBackground()
  • la couleur du JPanel ajouté à l'interieur du tab (ici un cyan) via le setBackground() du JPanel en question

mais pas :

  • la couleur du tab selectionné (du coup c pas coordonné à celle du JPanel dedans et c moche)
  • ni la couleur du fond des tabs (qui reste du coup le gris basique :/)


Donc voilà si vous avez des idées/solutions je suis prenneur, si possible bien expliqué vue mon pauvre niveau dans ce language ;)  
 
Merci de votre attention à mon problème
 
 :jap:


Message édité par KrX le 10-01-2006 à 19:41:03

---------------
Antisocial, tu perds ton sang froid Tu masques ton visage en lisant ton journal Repense a toutes ces années de service Antisocial, bientôt les années de sévices Enfin le temps perdu qu'on ne rattrape plus 4Ñ 7¡ $Ø Ç!ÂL
Reply

Marsh Posté le 09-01-2006 à 22:25:46   

Reply

Marsh Posté le 10-01-2006 à 10:33:55    

euh, je ne vois pas pourquoi tu as inséré un frame dans chaque tab. ca n'a aucun sens, un frame est une fenêtre graphique, et tu as déjà une fenêtre graphique. un frame n'est pas que un objet visible, c'est surtout un objet s'intégrant dans le système multi-fenêtrage de l'OS. il faut insérer plutot un objet container graphique, type JPanel, JScrollPane, JTabbedPane, etc.
 
sinon, je viens de faire le test rapide là, et un setBackground() sur le JTabbedPane modifie la couleur de tous les onglets (celui sélectionné, et les autres sont de la même couelur)
pour la couleur de ce qui est inséré dans chaque tab, avec un setBackground() ca marche très bien aussi
pour ce que tu appelles la couleur du fond des tabs, il faut appeller setBackground() de l'objet dans lequel est inséré ton jTabbedPane
donc en résumé, avec l'architecture suivante:

jFrame
  |
  +---- jTabbedPane
             |
             + jPanel1
             + jPanel2
             etc.


 
ca te donnera:

Code :
  1. jFrame.setBackground(Color.machin); // couleur du fond des tabs
  2. jTabbedPane.setBackground(Color.bidule); // couleur des tabs (tous)
  3. jPanelX.setBackground(Color.truc); // couleur du contenu de chaque tab

Reply

Marsh Posté le 10-01-2006 à 19:40:25    

trevor a écrit :

euh, je ne vois pas pourquoi tu as inséré un frame dans chaque tab. ca n'a aucun sens, un frame est une fenêtre graphique, et tu as déjà une fenêtre graphique. un frame n'est pas que un objet visible, c'est surtout un objet s'intégrant dans le système multi-fenêtrage de l'OS. il faut insérer plutot un objet container graphique, type JPanel, JScrollPane, JTabbedPane, etc.
pardon j'ai fait une confusion j'ai écri frame mais c'est bien un JPanel qui est dans le tab :whistle: je corrige :jap:

 
sinon, je viens de faire le test rapide là, et un setBackground() sur le JTabbedPane modifie la couleur de tous les onglets (celui sélectionné, et les autres sont de la même couelur)
pourquoi chez moi ça marche pas avec le selectionné :??: version d'OS ou de Java :??: c'est au taff c'est sous Solaris je me souviens plus des versions je noterais demain ;)
 
pour la couleur de ce qui est inséré dans chaque tab, avec un setBackground() ca marche très bien aussi
pour ce que tu appelles la couleur du fond des tabs, il faut appeller setBackground() de l'objet dans lequel est inséré ton jTabbedPane
j'ai éssayé ça aussi et même en jouant avec l'opacité mais ça n'a rien fait :/
 
donc en résumé, avec l'architecture suivante:

jFrame
  |
  +---- jTabbedPane
             |
             + jPanel1
             + jPanel2
             etc.


c'est tout à fait ce que j'ai :jap:
 
ca te donnera:

Code :
  1. jFrame.setBackground(Color.machin); // couleur du fond des tabs a pas marché :/
  2. jTabbedPane.setBackground(Color.bidule); // couleur des tabs (tous) a pas marché pour le selectionné :/
  3. jPanelX.setBackground(Color.truc); // couleur du contenu de chaque tab marche parfaitement



Message édité par KrX le 10-01-2006 à 19:41:52

---------------
Antisocial, tu perds ton sang froid Tu masques ton visage en lisant ton journal Repense a toutes ces années de service Antisocial, bientôt les années de sévices Enfin le temps perdu qu'on ne rattrape plus 4Ñ 7¡ $Ø Ç!ÂL
Reply

Marsh Posté le 10-01-2006 à 19:55:43    

bah alors, je ne vois pas trop... désolé.
peutetre lié à la version du jdk, et du jre utilisé (moi c'est jdk 1.3.1 avec jbuilder7)
ce pb, tu l'observes sous ton AGL ? ou alors avec le .jar "final" ?


---------------
TReVoR - http://dev.arqendra.net - http://info.arqendra.net
Reply

Marsh Posté le 16-10-2006 à 10:31:47    

  • la couleur du tab selectionné :
Code :
  1. UIManager.put("TabbedPane.selected",Color.RED);
  2. SwingUtilities.updateComponentTreeUI(jTabbedPane);


  • la couleur du fond des tabs :
Code :
  1. jFrame.getContentPane().setBackground(Color.RED);


attention un

Code :
  1. jFrame.setBackground(Color.RED);


ne marchera pas (mais je pense que tu t'en étais rendu compte ;) )!

Reply

Marsh Posté le 26-02-2008 à 17:15:24    

JMLLB a écrit :

  • la couleur du tab selectionné :
Code :
  1. UIManager.put("TabbedPane.selected",Color.RED);
  2. SwingUtilities.updateComponentTreeUI(jTabbedPane);



 
Bon, je sais, c'est un peu du déterrage de sujet, mais étant donné que je suis tombé dessus et qu'il répond partiellement à ma question, je me demandais si quelqu'un connaissait les autres clés de l'UIManager liées aux JTabbedPane ...
 
Ce que je cherche en particulier, c'est comment changer la couleur du fond "sous" les titres d'onglets (c'est à dire la couleur qui apparait si le nombre d'onglets ne couvre pas l'intégralité de la largeur du JTabbedPane).


---------------
Un ordinateur sert à résoudre des problèmes qui n'existaient pas avant son invention.
Reply

Marsh Posté le 10-01-2009 à 02:13:30    

JMLLB a écrit :

  • la couleur du tab selectionné :
Code :
  1. UIManager.put("TabbedPane.selected",Color.RED);
  2. SwingUtilities.updateComponentTreeUI(jTabbedPane);


  • la couleur du fond des tabs :
Code :
  1. jFrame.getContentPane().setBackground(Color.RED);


attention un

Code :
  1. jFrame.setBackground(Color.RED);


ne marchera pas (mais je pense que tu t'en étais rendu compte ;) )!


 
Bonjour,
 
J'ai le même problème et aucune de vos méthodes ne marche. Cela vient-il de mon ordinateur? J'utilise XP avec un thème modifié (qui n'influe en rien l'affichage de mes onglets).  
Code :
 
   1. UIManager.put("TabbedPane.selected",Color.RED);
   2. SwingUtilities.updateComponentTreeUI(jTabbedPane); Cela ne fais que surligner le titre alors que je veux changer la couleur de tout l'onglet (s'il est rempli, il reste toujours un contour bleu métal qui me dérange)
 
Je suis nouveau sur le forum et n'ai pas vu comment joindre une image (qui n'est pas sur le net) à ce message. Je pense qu'un photo illustrerait parfaitement notre problème et vous pourriez peut-être mieux nous aider. Donnez moi votre mail si vous voulez que je vous l'envoie!  
Un grand merci à qui nous sauvera!
 
JG

Reply

Marsh Posté le 10-01-2009 à 17:01:39    

jfages07 a écrit :


 
Bonjour,
 
J'ai le même problème et aucune de vos méthodes ne marche. Cela vient-il de mon ordinateur? J'utilise XP avec un thème modifié (qui n'influe en rien l'affichage de mes onglets).  
Code :
 
   1. UIManager.put("TabbedPane.selected",Color.RED);
   2. SwingUtilities.updateComponentTreeUI(jTabbedPane); Cela ne fais que surligner le titre alors que je veux changer la couleur de tout l'onglet (s'il est rempli, il reste toujours un contour bleu métal qui me dérange)
 
Je suis nouveau sur le forum et n'ai pas vu comment joindre une image (qui n'est pas sur le net) à ce message. Je pense qu'un photo illustrerait parfaitement notre problème et vous pourriez peut-être mieux nous aider. Donnez moi votre mail si vous voulez que je vous l'envoie!  
Un grand merci à qui nous sauvera!
 
JG


 
 
Bonjour,
 
J'ai réussi à trouver la solution :
UIManager.put("TabbedPane.contentAreaColor",Color.red);  
Merci quand même

Reply

Marsh Posté le 10-01-2009 à 17:59:58    

Ah merci beaucoup ça faisait un bon bout de temps que je cherchais comment faire.  :jap:

Reply

Marsh Posté le 24-01-2009 à 10:48:35    

Deamon a écrit :

Ah merci beaucoup ça faisait un bon bout de temps que je cherchais comment faire.  :jap:


 
A ce sujet, je suis en train de faire un jeu qui nécessite de changer toutes les couleurs des composants swing,
quelqu'un aurait-il quelque part un bouquin ou un site où on pourrait trouver la liste de toutes les choses modifiables
i.e. tout ce qu'on peut mettre en paramètre dans la fameuse méthode UIManager.put(....) car jusqu'ici je les invente
et tombe juste de tps en tps mais c'est supra galère!  
 
merci

Reply

Marsh Posté le 24-01-2009 à 10:48:35   

Reply

Marsh Posté le 15-02-2009 à 19:53:05    

jfages07 a écrit :


A ce sujet, je suis en train de faire un jeu qui nécessite de changer toutes les couleurs des composants swing,
quelqu'un aurait-il quelque part un bouquin ou un site où on pourrait trouver la liste de toutes les choses modifiables
i.e. tout ce qu'on peut mettre en paramètre dans la fameuse méthode UIManager.put(....) car jusqu'ici je les invente
et tombe juste de tps en tps mais c'est supra galère!  


 
Up  :bounce:  
 
J'aurai besoin de changer la couleur du contour des boutons quand on survole et la couleur de fond quand on laisse appuyer. Quelqu'un connait la clé pour cela ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed