cs_cosworth
Messages postés40Date d'inscriptionmardi 21 novembre 2006StatutMembreDernière intervention16 mai 2008
-
12 mars 2008 à 15:16
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 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
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 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.
cs_cosworth
Messages postés40Date d'inscriptionmardi 21 novembre 2006StatutMembreDernière intervention16 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
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 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
}