Posez votre question Signaler

Java : interface swing

anne - Dernière réponse le 19 mars 2002 à 13:15
bonsoir
comment est il possible de lancer une deuxiéme fenêtre ou un programme à partir d'un bouton "envoyer" (c'est à dire remplacer la methode
> systems.exit(0) par autre chose (autre fenêtre ou programme java sans l'interface graphique)

merci pour vos réponses
Lire la suite 

Java : interface swing »

6 réponses
Réponse
+0
moins plus
La commande System.exit(0) ferme tout ce qui concerne l'application en cours.

Personnellement, je travaille de la manière suivante (elle vaut ce qu'elle vaut mais ça marche pas trop mal).


Une classe "main" qui lance l'application, la vue, les différentes param.

Une classe de type JFrame avec un JMenuBar, cette vue principale est initiée par la classe main.

A partir de là créer différentes JFrame filles qui sont affichées à la demande et lorsque elle ne servent plus, rendu invisibles par la commande setVisible(false). Chaque JFrame fille connait la JFrame principale et inversement. De cette manière, l'ouverture ou la fermeture des différentes vues sont initiées à partir de la vue principale (à partir du JMenubar par ex). De plus, la fermeture d'un JFrame fille ne stoppera pas l'application, étant indépendante.
Même principe, si la JFrame principale ne doit plus être affichée, utiliser setVisible(false), mais bon c'est parfois dangereux si on prévoit pas un retour à l'état original.

petit exemple:

à partir de la Frame principale, initialisation d'une frame fille.


private ConsoleFrame consoleFrame;

//affiche la JFrame fille
public void setConsoleView(){
consoleFrame = Console.getInstance();
consoleFrame.setMother(this);
consoleFrame.show();
}

public void removeConsoleFrame(){

consoleFrame = null;
}

//Vue à partir de la JFrame fille, pour fermer la fenêtre.

// dans le constructeur de la Frame.

addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) {
exitForm();
}
}
);

private void exitForm() {
if(JOptionPane.showConfirmDialog(null,"Do you really want to close the Console?","Question",JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE)==0){
this.setVisible(false);
mother.removeConsoleView();
}
}

bonne chance

uboot
Ajouter un commentaire
Réponse
+0
moins plus
merci
pour cette réponse
mais n'y a t'il pas plus simple juste pour au clic sur bouton sortir d'une fenêtre swing :
appeler une class main qui renvoie la suite sur la fénêtre DOS avec exécution d'un programme tout simple et classique

cela étant merci pour les conseils
Ajouter un commentaire
Réponse
+0
moins plus
ben si tu te réfère à la methode exitForm() tu peux ajouter l'appel de ta class main, mais faut que tu évites le system.exit(0) en le remplaçant par setVisible(false);

private void exitForm(){
this.setVisible(false)
// appel à une classe main,
ClassMain.main(args[]);
// ou alors un autre prog ici par ex notepad mais y'en a d'autre
try{
Runtime.getRuntime().exec("notepad.exe");}
catch(IOException ioe){
JOptionPane.showMessageDialog(null,"Error on the initialisation of notepad.exe, "+"\n"+"please check your configuration system","Warning",JOptionPane.WARNING_MESSAGE);
}

}

uboot
HackTrack - 19 mars 2002 à 10:20
E qwê Andréééiiiiiii...

on essaie de me voler la vedette sur le forum Java CCM?


;-)
HackTrack
(.... dit Cindy Tavier !)
hub - 19 mars 2002 à 11:53
ah! ben je fais ce que je peux cow boy

uboot
kalamitHackTrack - 19 mars 2002 à 13:15
Prouve que tu peux faire mieux en répondant à ma question ;-)

http://www.commentcamarche.com/forum/affich.php3?cat=3&ID=67931&page=1
Ajouter un commentaire
Ce document intitulé « java : interface swing » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook