Lancer une gui à partir d'une autre ?

Résolu
cs_cosworth Messages postés 40 Date d'inscription mardi 21 novembre 2006 Statut Membre Dernière intervention 16 mai 2008 - 12 mars 2008 à 15:16
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 - 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

4 réponses

Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
12 mars 2008 à 16:39
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 ...
3
cs_cosworth Messages postés 40 Date d'inscription mardi 21 novembre 2006 Statut Membre Dernière intervention 16 mai 2008
12 mars 2008 à 17:08
Merci pour votre réponse
à bientôt
0
cs_cosworth Messages postés 40 Date d'inscription mardi 21 novembre 2006 Statut Membre Dernière intervention 16 mai 2008
13 mars 2008 à 11:04
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
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
13 mars 2008 à 21:58
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 ...
0
Rejoignez-nous