Lancer une gui à partir d'une autre ? [Résolu]

cs_cosworth 40 Messages postés mardi 21 novembre 2006Date d'inscription 16 mai 2008 Dernière intervention - 12 mars 2008 à 15:16 - Dernière réponse : Ombitious_Developper 2333 Messages postés samedi 28 février 2004Date d'inscription 26 juillet 2013 Dernière intervention
- 13 mars 2008 à 21:58
bonjour,
j'ai deux classes java chacune représente une  interface graphique , je veux  ajouter un bouton à la première pour lancer la deuxième:
- tout d'abord est ce que je doit mettre les deux classes ds un meme dossier  ??
- comment faire pour lancer une d'elle à partir d'un bouton qui est dans l'autre interface??
merci à vous
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Ombitious_Developper 2333 Messages postés samedi 28 février 2004Date d'inscription 26 juillet 2013 Dernière intervention - 12 mars 2008 à 16:39
3
Merci
Salut:

La réponse est oui, c'est possible de le faire. Déja c'est une pratique très utilisée, par exemple la fenêtre principale de l'application lance une boîte de dialogue, les exemples sont divers.

Petite illustration:

public class MyFrame extends JFrame {
    private JDialog dialog = null;

    // Quelque par dans une méthode
    JButton button = new JButton("Lancer");
    button.addActionListener(new ActionListener() {
       public void actionPerformed(ActionEvent ae) {
           // Ne pas lancer plus qu'une seule instance à la fois
           if (dialog == null) {
             dialog = new MyDialog();
           }
           dialog.setVisible(true);  
       }
    });
}

// On suppose que la classe MyDialog étend la classe JDialog
public class MyDialog extends ... {
}

Le choix des classe JFrame et JDialog est fait arbitrairement, la morale à apprendre de cet exemple est illustrée par le code coloré en rouge.

Bon courage ...

Merci Ombitious_Developper 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 102 internautes ce mois-ci

Commenter la réponse de Ombitious_Developper
cs_cosworth 40 Messages postés mardi 21 novembre 2006Date d'inscription 16 mai 2008 Dernière intervention - 12 mars 2008 à 17:08
0
Merci
Merci pour votre réponse
à bientôt
Commenter la réponse de cs_cosworth
cs_cosworth 40 Messages postés mardi 21 novembre 2006Date d'inscription 16 mai 2008 Dernière intervention - 13 mars 2008 à 11:04
0
Merci
Bonjour,
j'ai essayé la méthode, mais dommage ya des erreurs,
en fait j'ai mi les deux classes dans le meme projet mais lors de la compilation il ne reconnait pas la deuxième classe:
la première classe : MainWindow.java extends JFrame
la deuxième classe: JavaMemoryMonitor.java extends JPanel( cette classe je veux la lancer à partie de la prmière)
est ce que vous pouvez me suggerer autres choses svp
Commenter la réponse de cs_cosworth
Ombitious_Developper 2333 Messages postés samedi 28 février 2004Date d'inscription 26 juillet 2013 Dernière intervention - 13 mars 2008 à 21:58
0
Merci
Salut:

Cette erreur est totalement logique.

Pour afficher des interfaces graphiques il faut utiliser un des composant suivants:

Avec Swing:
1. JFrame
2. JDialog
3. JApplet
4. JWindow

Avec AWT:
1. Frame
2. Window
3. Dialog
4. Applet

Restons dans le monde de Swing, Comme ta deuxième interface graphique étend la classe JPanel, pour pouvoir l'afficher il faut utiliser un des composants Swing cité en haut. Tu peux par exemple:

public class JavaMemoryMonitor extends JDialog {
    // Ici tu construit l'interface utilisateur
}

Cordialement ...
Commenter la réponse de Ombitious_Developper

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.