Appeler une jFrame à partir d'une autre les 2 dans la même classe

Appeler une jFrame à partir d'une autre les 2 dans la même classe - Java - Programmation

Marsh Posté le 12-04-2005 à 17:53:44    

Bonjour à toutes et à tous,
 
Voilà, j'ai, dans une seule classe, deux JFrames (la première est "this" et la deuxieme "jFrame1" ) je les ai mis dans la meme classe parceque la première produit la moitié d'un fichier XML et que la deuxieme s'occupe de la deuxieme partie (du fixhier XL).
 
Je sais comment appeler une JFrame à partir d'une autre mais il faut qu'elles soient dans deux classes differentes... ce qui n'est pas mon cas (ici elles sont dans la meme classe .java ) alors j'ai coïncé :(
 
merci.
je suis là si besoin de plus d'éclaircissement.

Reply

Marsh Posté le 12-04-2005 à 17:53:44   

Reply

Marsh Posté le 12-04-2005 à 18:13:25    

une JFrame qui produit un fichier, ça me fait un peu peur (du point de vue conception !)

Reply

Marsh Posté le 12-04-2005 à 18:15:52    

ok je essayer d'expliquer plus en details:
 
j'ai MaClasse extends JFrame (MaClasse c'est le nom du fichier .java).
 
dans cette classe je déclare un JFrame jFrame1 comme ça j'ai DEUX JFrames.
 
la methode main() :
 
Public Static Void main(String args) {
MaClasse ma=new MaClasse();
ma.show();
}
 
cela m'affiche ma 1ère JFrame mais le problème c'est que je veux appuiyer sur un boutton présent sur ma 1ère JFrame qui va fermer la 1ère JFrame et afficher la deuxième JFrame.
 
pour ce qui est du "this":
 
par exemple pour changer les titres des deux JFrame:
 
pour la 1ère: this.setTitle("first" );
pour la 2ème: jFrame1.setTitle("second" );
 
merci pour votre aide d'avance.

Reply

Marsh Posté le 12-04-2005 à 18:25:31    

heu tu veux utiliser un sous-élément d'une instance que tu détruit :pt1cable:
en gros si tu detruit ta premiere frame qui comporte la deuxième, la deuxième est détruite aussi!
par contre tu peux faire un "setVisible(false)" sur la première avant d'afficher la seconde ...


---------------
The Rom's, à votre service
Reply

Marsh Posté le 12-04-2005 à 18:35:00    

ese-aSH a écrit :

"quand il n'y a pas de solution, c'est qu'il n'y a pas de probleme"


 
shadok powah  :D


---------------
The Rom's, à votre service
Reply

Marsh Posté le 12-04-2005 à 18:54:43    

Merci pour toutes vos idées j'ai fais un setVisible(false) et puis un jFrame.show() (sur la 2ème) cela me sort les erreurs suivantes (si vous pouviez me dire de quoi il s'agit :) )
 
 
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
 at ProjectDotXML.ProjectDotXMLGenEngine$1.actionPerformed(ProjectDotXMLGenEngine.java:249)
 at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
 at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
 at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
 at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
 at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
 at java.awt.Component.processMouseEvent(Component.java:5488)
 at javax.swing.JComponent.processMouseEvent(JComponent.java:3093)
 at java.awt.Component.processEvent(Component.java:5253)
 at java.awt.Container.processEvent(Container.java:1966)
 at java.awt.Component.dispatchEventImpl(Component.java:3955)
 at java.awt.Container.dispatchEventImpl(Container.java:2024)
 at java.awt.Component.dispatchEvent(Component.java:3803)
 at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
 at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
 at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
 at java.awt.Container.dispatchEventImpl(Container.java:2010)
 at java.awt.Window.dispatchEventImpl(Window.java:1766)
 at java.awt.Component.dispatchEvent(Component.java:3803)
 at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
 at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
 at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
 at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

Reply

Marsh Posté le 12-04-2005 à 19:36:30    

montres-nous la ligne 249 de ton fichier ProjectDotXMLGenEngine.java pour voir ce qui est "null" dedans


---------------
The Rom's, à votre service
Reply

Marsh Posté le 13-04-2005 à 12:26:59    

desolé pour le retard...
j'ai un peu bidouillé le code donc la ligne 249 a forcément changé du coup l'application se compile maintenant sans erreurs MAIS ca marche toujours pas :(
 
Mais la bonne nouvelle c'est que, en reflechissant un peu mieux cette fois, j'ai trouvé que c'etait un peu trop lourd de faire 2 JFrames dans une meme classe du coup j'ai eu l'idée de mettre le contenu de la 2ème JFrame dans un simple JPanel et le coller dans la 1ère JFrame.
 
avec un simple setVisible(true ou false) je pourrais passer d'un JPanel à un autre (c'est mieux que de passer d'une JFrame a une autre).
 
Bon ca reste juste une proposition ou une idée (entre parenthèses) qui j'espère servira a quelqu'un d'autre qui aura le meme probleme... Java, c'est dur mais c'est tellement beau quand ca marche :):)
 
Encore merci les amis.

Reply

Sujets relatifs:

Leave a Replay

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