Java : interface swing
anne
-
Utilisateur anonyme -
Utilisateur anonyme -
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
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
A voir également:
- Java : interface swing
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
3 réponses
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
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
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
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
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
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
Prouve que tu peux faire mieux en répondant à ma question ;-)
http://www.commentcamarche.com/forum/affich-67931?full>
http://www.commentcamarche.com/forum/affich-67931?full>