Rechercher : dans
Par :

Java : interface swing

Dernière réponse le 19 mar 2002 à 13:15:45 anne, le 17 mar 2002 à 20:04:09 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « java : interface swing » dans :

1

hub, le 18 mar 2002 à 12:36:21

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

Répondre à hub

2

anne, le 18 mar 2002 à 18:43:01

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

Répondre à anne

3

hub, le 19 mar 2002 à 08:39:26

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

Répondre à hub

4

HackTrack, le 19 mar 2002 à 10:20:49

E qwê Andréééiiiiiii...

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


;-)
HackTrack
(.... dit Cindy Tavier !)

Répondre à HackTrack

5

hub, le 19 mar 2002 à 11:53:02
  • +1

Ah! ben je fais ce que je peux cow boy

uboot

Répondre à hub

6

 kalamit, le 19 mar 2002 à 13:15:45

Prouve que tu peux faire mieux en répondant à ma question ;-)

http://www.commentcamarche.com/forum/affich.php3?cat=3&ID=67931&page=1

Répondre à kalamit