cs_stun
Messages postés10Date d'inscriptionlundi 17 juin 2002StatutMembreDernière intervention 7 avril 2006
-
6 nov. 2002 à 20:07
cs_stun
Messages postés10Date d'inscriptionlundi 17 juin 2002StatutMembreDernière intervention 7 avril 2006
-
19 nov. 2002 à 22:28
Salut a tous !
Au secours, j'ai un grand problème
Je dois faire un programme Java qui génère une autre fenêtre quand on click sur le bouton A de la fenêtre initiale et ferme toutes les fenêtres filles lorsque l'on clik sur le bouton B.
J'ai utilisé un Thread pour créer les fenêtres filles mais comment toutes les tuer sans éliminer la fenêtre principale.
JHelp
Messages postés261Date d'inscriptionjeudi 5 septembre 2002StatutMembreDernière intervention 6 octobre 200511 7 nov. 2002 à 08:52
Je comprend pas pourquoi tu utilises un thread pour creer tes fenetres, en écoutant le bouton A, cela suffit.
Pour fermer tes fenetres générées, stocke les dans un Vector, puis sur l'écouteur de B, tu fais un setVisible(false); et un dispose(); sur toutes tes filles, puis tu vides ton Vector.
JHelp.
cs_stun
Messages postés10Date d'inscriptionlundi 17 juin 2002StatutMembreDernière intervention 7 avril 2006 15 nov. 2002 à 16:46
merci c est vrai que les threads n etaient pas necessaire mais qu en je met les fenetre fille dans le vector il ne les reconnais plus comme fille mais comme object alors il me refuse dispose
public static void main(String args[])
{
Fenetre fenetre = new Fenetre();
}
Button bnouveau;
Button btoutfermer;
int numfenetre;
}
et l erreur de compilation:
C:\WINDOWS\Bureau\tp04\EXO1\Fenetre.java:53: cannot resolve symbol
symbol : method dispose ()
location: class java.lang.Object
v.get(i).dispose();
^
je suis sur que y a une couille dans la paté
Vous n’avez pas trouvé la réponse que vous recherchez ?
JHelp
Messages postés261Date d'inscriptionjeudi 5 septembre 2002StatutMembreDernière intervention 6 octobre 200511 17 nov. 2002 à 08:01
N'oublie pas que le vecteur te renvoie des objets qu'il te faut caster.
Pour la fermeture fait plutot :
int nb=vecteur.size();
for(int i=0;i<nb;i++)
{
//On caste l'objet courant en Fille.
//On est sur que c'est un objet Fille, puisque l'on a ajouter que des Fille
Fille fille=(Fille)vecteur.elementAt(i);
fille.dispose();
}
vecteur.clear();
En suite au sujet de Vector, utilises plutot addElement que add
elementAt que get
insertElementAt que add(Object,int)
setElementAt que set
...
Se sont des méthodes plus adaptées et mieux faites. Les autres ne sont là que pas soucis d'héritage.
Tu n'as pas besoin de compter le nombre de filles, la méthode size() de Vector te renvoie le nombre d'éléments dans le vecteur.
Si tu veux etre encore plus Objet dans ta conception, crée une classes Filles qui contient l'ensemble des Fille.
import java.util.Vector;
public class Filles
{
private Vector vecteur=new Vector();
public Filles()
{
}
public void ajoute(Fille fille)
{
if(fille!=null)
vecteur.addElement(fille);
}
public void dispose()
{
int nb=vecteur.size();
for(int i=0;i<nb;i++)
{
//On caste l'objet courant en Fille.
//On est sur que c'est un objet Fille,
//puisque l'on a ajouter que des Fille
Fille fille=(Fille)vecteur.elementAt(i);
fille.dispose();
}
vecteur.clear();
}
}
Ainsi tu controles les objets entrer, et çà simplifie les traitements. Un traitement dédié est tellement plus efficace, facile à comprendre, et à réaliser.
JHelp
Messages postés261Date d'inscriptionjeudi 5 septembre 2002StatutMembreDernière intervention 6 octobre 200511 17 nov. 2002 à 14:38
Si j'en ai des pb.
J'essaie toujours de m'en sortir seul, je maitrise mieux ainsi. Mias, puisque tu te propose, je peux tjs te demander.
Mon pb est le suivant :
J'ai fait des animations 3D avec le paquage java3D, pour montrer sur un site, je les ai convertis en applet. Mon pb, c'est que les internautes doivent télécharger java3D pour voir mon animation. Comment faire, sans faire ma solution actuelle qui est d'écrire un moteur 3D de bout en bout ?
Je veux savor comment fair en sorte que les visiteurs de la page puissent voir les animations sans télécharger quoique se soit, sans perte de qualité ? Il existe des solutions, mais soit elles sont payantes, soit d'une qualitée médiocre, soit il faut télécharger un plug-in, mais je n'en ai pas trouvé qui satisface mes exigences.
Si tu as des infos la dessus, je t'en serait reconnaissant et je n'aurais pas à terminer mon moteur, qui va me prendre encore un bon bout de temps.
JHelp