[Java] Masquer une fenêtre ? [Résolu]

Masquer une fenêtre ? [Résolu] [Java] - Java - Programmation

Marsh Posté le 03-05-2005 à 14:33:08    

Est-ce que quelqu'un saurait comment fermer ou masquer une fenêtre ?
 
Je m'explique. J'ai un programme qui lance une fenêtre qui demande à l'utilisateur de faire un choix. Selon le bouton, il lance tel ou tel programme.
 
Mais quand le programme se lance, la première fenêtre reste en arrière plan. J'aimerais pouvoir la faire disparaître, mais je sais pas comment faire.
 
Il y a bien le : System.exit(0), mais c'est un peu expeditif quand même.
 
Est-ce que quelqu'un pourrait éclairer ma lanterne ?
 
D'avance merci.


Message édité par frenchlover le 04-05-2005 à 09:18:51

---------------
Ce n'est pas parce que c'est difficile que nous n'osons pas, c'est parce que nous n'osons pas que c'est difficile
Reply

Marsh Posté le 03-05-2005 à 14:33:08   

Reply

Marsh Posté le 03-05-2005 à 14:38:11    

T'as pas utilisé de JOptionPane je suppose ?

Reply

Marsh Posté le 03-05-2005 à 14:39:58    

Reply

Marsh Posté le 03-05-2005 à 14:44:14    

Ben non, pas pour ma première fenêtre.
Je pense qu'il faut que je la masque au niveau de la gestion des boutons, juste avant de lancer la suite...
 
Je vais regarder la classe hide. J'avais essayé dispose(), mais j'ai pas réussi à la faire marcher. Je vais réessayer...


---------------
Ce n'est pas parce que c'est difficile que nous n'osons pas, c'est parce que nous n'osons pas que c'est difficile
Reply

Marsh Posté le 03-05-2005 à 14:56:58    

Montre ton code, un peu pour se faire une idée.


---------------
Le site de ma maman
Reply

Marsh Posté le 03-05-2005 à 15:01:20    

Ca risque d'être un peu long, mais bon...
Je pense que j'ai dû tomber dans le piège du fameux "Static". Je viens de relire le post dans "passage obligé pour les débutants", et ça y ressmble  :( .
Du coup, je peux pas utiliser hide ou dispose à la ligne 59... Snif. Est-ce rattrapable ou faut-il tout refaire ? :cry:  
 
 

Code :
  1. import javax.swing.*;
  2. import java.awt.*;
  3. import java.io.*;
  4. import java.awt.event.*;
  5. import javax.swing.JOptionPane;
  6. import javax.swing.JDialog;
  7. import java.util.Arrays;
  8. import java.awt.Window;
  9. public class Pendu extends JFrame {
  10. JButton btnOk=null;
  11. JButton btnNon=null;
  12. Container conteneur=null;
  13. JLabel lblSaisie = new JLabel();
  14. public Pendu(String mot) {
  15.  final String motus=mot;
  16.  int tailleMot=mot.length();
  17.  lblSaisie.setText("Le mot à trouver fait "+tailleMot+" lettres et vous avez 10 tentatives." );
  18.  lblSaisie.setBounds(new Rectangle(50, 20, 400, 21));
  19.  this.setTitle("Bonjour !!!" );
  20.  this.setSize(new Dimension(420,150));
  21.  this.setLocationRelativeTo(this.getParent());
  22.  WindowAdapter win=new WindowAdapter(){
  23.   public void windowClosing(WindowEvent e){System.exit(0);}
  24.  };
  25.  this.addWindowListener(win);
  26.  conteneur=this.getContentPane();
  27.  conteneur.setLayout(null);
  28.  btnOk=new JButton();
  29.  btnOk.setText("Jouer" );
  30.  btnOk.setBounds(110,60,80,20);
  31.  btnOk.addActionListener(new ActionListener()
  32.   {
  33.    public void actionPerformed(ActionEvent evt){
  34.     btnOk_clic(evt, motus);
  35.    }
  36.   }
  37.  );
  38.  btnNon=new JButton();
  39.  btnNon.setText("Arreter" );
  40.  btnNon.setBounds(240,60,80,20);
  41.  btnNon.addActionListener(new ActionListener()
  42.   {
  43.    public void actionPerformed(ActionEvent evt){
  44.     btnNon_clic(evt);
  45.    }
  46.   }
  47.  );
  48.  conteneur.add(btnOk);
  49.  conteneur.add(lblSaisie, null);
  50.  conteneur.add(btnNon);
  51. }
  52. public void btnOk_clic(ActionEvent evt,String motus){
  53.  Pendu.dispose();
  54.  compare(motus);
  55. }
  56. public void btnNon_clic(ActionEvent evt){
  57.  System.exit(0);
  58. }
  59. public static String lireChaine(String message){
  60.  String valeurMot=null;
  61.  boolean ok=true;
  62.  while(ok==true){
  63.   String saisieMot=JOptionPane.showInputDialog(message);
  64.   if (saisieMot==null)System.exit(0);
  65.   try{
  66.    valeurMot=saisieMot;
  67.    ok=false;
  68.   }
  69.   catch(Exception exc){JOptionPane.showMessageDialog(null,"Veuillez saisir un mot" );
  70.   }
  71.  }
  72.  return valeurMot;
  73. }
  74. public static String penduMot(){
  75.  String mot=null;
  76.  do{
  77.   mot=lireChaine("Taper le mot à chercher :" );
  78.  }while(mot==null);
  79.  new Pendu(mot).setVisible(true);
  80.  return mot;
  81. }
  82. public static void compare(String motus){
  83.      int coupRestant=10;
  84.      char[] tableauMot=motus.toCharArray();
  85.      int art=tableauMot.length;
  86.      char[] tableauReponse=new char[art];
  87.      char[] tableauAnswer=new char[art];
  88.      String lettre;
  89.       while(! java.util.Arrays.equals(tableauAnswer,tableauMot) && coupRestant>0){ 
  90.        do{
  91.     lettre=lireChaine("Taper une lettre :" );
  92.    }while(lettre==null);
  93.    char[] convLettre=lettre.toCharArray();
  94.    char laLettre=convLettre[0];
  95.        String reponse="";
  96.        for (int i=0; i<art; i++) {
  97.            if (laLettre == tableauMot[i]) {
  98.             reponse=reponse + tableauMot[i];
  99.            }
  100.            else{
  101.             reponse=reponse + "*";
  102.            }
  103.            tableauReponse=reponse.toCharArray();
  104.        }
  105.    for(int x=0; x<art; x++){
  106.     if(tableauReponse[x]=='*'){
  107.      if(coupRestant==10){
  108.       tableauAnswer[x]=tableauReponse[x];
  109.      }
  110.     }
  111.     else{
  112.      tableauAnswer[x]=tableauReponse[x];
  113.     }
  114.     System.out.print(tableauAnswer[x]);
  115.    }
  116.    coupRestant=coupRestant-1;
  117.    System.out.println();
  118.    System.out.println("Il vous reste "+coupRestant+" tentatives" );
  119.       }
  120.       if(! java.util.Arrays.equals(tableauAnswer,tableauMot)){
  121.        showMessageDialogL(coupRestant, motus);
  122.       }
  123.       else{
  124.        showMessageDialogW(coupRestant, motus);
  125.       }
  126.    
  127.     }
  128. public static void showMessageDialogW(int coupRestant, String motus){
  129.  JOptionPane.showMessageDialog(null,"Felicitation, vous avez trouve le mot en "+coupRestant+" tentatives.\n"
  130.  +"La solution était : "+motus);
  131. }
  132. public static void showMessageDialogL(int coupRestant, String motus){
  133.  JOptionPane.showMessageDialog(null,"Desole, ca sera pour une autre fois.\n"+"La solution était : "+motus);
  134. }
  135. public static void main(String[] args) {
  136.  penduMot();
  137. }
  138. }


Message édité par frenchlover le 03-05-2005 à 15:02:07

---------------
Ce n'est pas parce que c'est difficile que nous n'osons pas, c'est parce que nous n'osons pas que c'est difficile
Reply

Marsh Posté le 04-05-2005 à 09:18:23    

Bah, en fait, j'ai trouvé ça :
 
this.setVisible(false);
 
Ca marche bien.


---------------
Ce n'est pas parce que c'est difficile que nous n'osons pas, c'est parce que nous n'osons pas que c'est difficile
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed