[JAVA] pb avec affichage multiple swing/draw

pb avec affichage multiple swing/draw [JAVA] - Programmation

Marsh Posté le 17-07-2001 à 17:40:32    

bon la j'en peux plus de ce pb :  
j'affiche un gd gif, des objets graphiques par dessus (line, polygon...) tout va bien, puis j'ai des petits JPanels qui doivent etre affichés aussi mais avec un fond transparent par rapport au gif et ces cons s'affichent en transparence par rapport a la couleur de fond du contener principal alors ca fait pas bô !!!  
je vous mets une capture si qqun a des idées elles sont toutes les bienvenues !  
http://zerod.free.fr/hfr/atc.jpg

 

[edtdd]--Message édité par zerod--[/edtdd]


---------------

Reply

Marsh Posté le 17-07-2001 à 17:40:32   

Reply

Marsh Posté le 17-07-2001 à 23:32:30    

quoi personne n'a une seule proposition.... allez siouplait

Reply

Marsh Posté le 18-07-2001 à 09:00:09    

Tes panels sont bien en setOpaque(false) ??

Reply

Marsh Posté le 18-07-2001 à 09:32:50    

oui ils sont en setOpaque(false)  
j'ai aussi essayé de jouer sur le alpha, ils sont bien transparents mais par rapport au fond et pas par rapport a cette #!{[##~#** d'image !!!


---------------

Reply

Marsh Posté le 18-07-2001 à 10:59:55    

et euh ça doit pas être casse tête de récupérer la zone de l'image sous le jpanel et de la mettre en background dans le jpanel ?!!!

Reply

Marsh Posté le 18-07-2001 à 11:02:06    

ben j'ai peur que se soit lourd, c'est une animation et il peut y en avoir bcp des JPanel...


---------------

Reply

Marsh Posté le 18-07-2001 à 12:17:46    

je connais pas ropmais si ca peut faire avancer.
 
dis moi ton gis il est dans uncomposant image ? tu pourrais ptetre mettre que le container c est le composant image et non la form ?
 
a moins que tu dessisnes directement sur la forme.


---------------
Daladahihou!!!
Reply

Marsh Posté le 18-07-2001 à 12:23:50    

je comprends pas trop ce que tu veux dire  :??:  
 
voila l'ordre d'affichage tout dans un JPanel :
les JPanels sont cachés --> setVisible(false)
_ le gif est affiché
_ affichage de tous les autres objets --> des g.drawLine...  
et enfin les fameux JPanel ou l'affichage ce resume a faire un  
setVisible(true) sur chacun d'eux


---------------

Reply

Marsh Posté le 18-07-2001 à 14:59:17    

a écrit :  
.....les JPanels sont cachés --> setVisible(false)
_ le gif est affiché...
....
 
tu as essayer d'inverser l'ordre de ces deux ligne ?
add le gif
puis add jpanels cachés

Reply

Marsh Posté le 18-07-2001 à 15:01:39    

mais les JPanels ils sont ajoutés a leurs creation je vais pas les recreer a chaque fois c'est trop lourd !  
j'ai essayé plusieurs ordre c'est toujours pareil !


---------------

Reply

Marsh Posté le 18-07-2001 à 15:01:39   

Reply

Marsh Posté le 18-07-2001 à 15:21:00    

encore une idée avant le suicide :
 
je Panel de base à un background, c'est ce background qui sera aussi mis dans tes petits jpanel.
 
je sais pas où t'as mis l'image gif ? mais si tu créer un type personnalisé de panel (appellon le panelX)
 
et que tu redéfinit le fond de ce panel avec ton gif.
 
puis dans ce panelX tu ajoute tes draw et petit panel.....
 
en fait il faut pas ajouter un gif mais construire un panel ayant un gif comme fond...

Reply

Marsh Posté le 18-07-2001 à 15:23:32    

ouais ca j'y ai pensé et ca doit etre la bonne solution mais... je sais pas le faire oiiinnnnnn !


---------------

Reply

Marsh Posté le 18-07-2001 à 15:46:30    

tu sais pas quoi ?  
 
faire un composant personnaliser ? :
 
tu créer une classe Composantperso extends Lecomposantdorigine {
 
Composantperso(){
 
et ici tu redéfini le composant
tu insert un gif
}
}
 
 
après dans ton programme
 
tu fait  
Composantperso cp= new Composanperso();  
 
???????????????

 

[edtdd]--Message édité par lamatrice--[/edtdd]

Reply

Marsh Posté le 18-07-2001 à 15:49:27    

oui non ca je sais :lol:
en fait mon grand JPanel est deja une classe héritée de JPanel nommée "Fenetre", se que je ne sais pas faire c'est substituer le background par mon gif !


---------------

Reply

Marsh Posté le 18-07-2001 à 15:50:25    

lamatrice > tu as icq installé ? si oui 97276141


---------------

Reply

Marsh Posté le 18-07-2001 à 15:51:35    

j'ai pas icq désolé

Reply

Marsh Posté le 18-07-2001 à 15:53:08    

et t'as essayer de mettre le gif dans le composant parent ?

Reply

Marsh Posté le 18-07-2001 à 15:53:56    

pas grave tu saurais m'expliquer comment mettre en place ta solution ?


---------------

Reply

Marsh Posté le 18-07-2001 à 15:55:09    

quel composant parent ?


---------------

Reply

Marsh Posté le 18-07-2001 à 15:59:44    

t'as écrit : fait mon grand JPanel est deja une classe héritée de JPanel nommée "Fenetre",  
 
donc dans cette affaire t'as un parent ?
 
tu peux ajouter le gif non pas dans le grand jpanel mais dans le papa Jpanel qui s'appelle fenetre

Reply

Marsh Posté le 18-07-2001 à 16:02:47    

euhh je me suis sans doute mal exprimé en hiérarchisant sa donne ca :
1Jframe contient:
1 Fenetre(extends JPanel) qui elle contient plein de chtits JPanels
 
le seul parent est la JFrame et pas moyen d'afficher la ya une toolbar etc...


---------------

Reply

Marsh Posté le 18-07-2001 à 16:06:08    

et dans le Fenetre.java
 
tu peux ajouter le gif !!

Reply

Marsh Posté le 18-07-2001 à 16:15:13    

en fait tu veux que je mette directement dans fenetre.java une redefinition de la methode paint de JPanel en faisant un truc comme ca :  
public void paint(graphics g)
{
super.paint();
g.drawimage(_image);
 
 
}
c'est ca ?


---------------

Reply

Marsh Posté le 18-07-2001 à 16:17:45    

oui

Reply

Marsh Posté le 18-07-2001 à 16:22:03    

lamatrice j'ai commendé la betonnière, le ciment et tout et tout dans qques jours je peux commencer a tailler ta statue dans mon jardin MERCI CA MARCHE ahh ca merite une petite clope je vais m'en griller une et encore merci !


---------------

Reply

Marsh Posté le 18-07-2001 à 16:23:14    

as si tu pouvais m'aider pour mon problème à la con d'algo  
 
voir plus bas

Reply

Marsh Posté le 18-07-2001 à 16:40:06    

je regardes


---------------

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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