JAVA : comment fermer la fenêtre ?

Bonjour,
comment fermer une fenetre en cliquant sur l'onglet rouge comme toute autre fenêtre (sans avoir à créer un bouton qui la ferme) ?
aussi comment redimentionner le bouton, voici le tout petit code :

----------------------------------------------------------------------------
import java.awt.Button;
import java.awt.Frame;
import java.awt.Label;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class test extends Frame implements ActionListener
{
Button cmd = new Button("GO");
Label lbl = new Label("Pas possible de fermer la fenêtre !");

public test()
{
// puis-je redimentionner le bouton ?
cmd.setBounds(10,10,10,10);//aucun effet

setBounds(300,300,300,300);
add("Center",cmd);
add("South",lbl);

cmd.addActionListener(this);
show();
}

public void actionPerformed(ActionEvent evt)
{
lbl.setText("Ni de redimentionner le bouton, blème !");
}

public static void main(String[] args)
{
new test();
}
}
----------------------------------------------------------------------------

merci infiniment pour votre aide

13 réponses

  1. salut essaie avec
    System.exit(0);
    23
    1. Merci pour le rapel ;)
      0
  2. si j'utilise System.exit(0); à peine ouverte, elle se ferme ma fenêtre !!
    0
    1. import javax.swing.*;
      import java.awt.*;
        public class Exemple1{
         public static void main(String[] args){
          JFrame frame=new JFrame("exemple");
          JLabel label=new JLabel("Ok");
          JPanel pane=new JPanel();
          pane.add(label);
          frame.getContentPane().add(pane,BorderLayout.CENTER);
          frame.show();}}
      2
      1. salut! voila ça marche pour fermer la fenetre!!!

        import java.awt.*;
        import java.awt.event.*;
        
        public class test extends Frame implements ActionListener
        {
        	Button cmd = new Button("GO");
        	Label lbl = new Label("Pas possible de fermer la fenêtre !");
        
        
        	public test()
        	{
        		// puis-je redimentionner le bouton ?
        		cmd.setBounds(10,10,10,10);//aucun effet
        		
        		setBounds(300,300,300,300);
        		add("Center",cmd);
        		add("South",lbl);
        		
        		addWindowListener (new WindowAdapter(){
        			public void windowClosing (WindowEvent e){
        				System.exit(0);
        			}
        		});
        		
        		cmd.addActionListener(this);
        		show();
        	}
        
        	public void actionPerformed(ActionEvent evt)
        	{
        		lbl.setText("Ni de redimentionner le bouton, blème !");
        	}
        
        	public static void main(String[] args)
        	{
        		new test();
        	}
        } 
        7
        1. merci super ton astuce !!!
          0
        2. dispose();

          et rien besoin de plus.
          0
        3. Mercii JavaStunt
          0
        4. this.dispose();
          ou
          setDefaultCloseOperation(DISPOSE_ON_CLOSE);

          C'est plus propre que this.exit(0) qui kill complétement ton appli
          0
      2. Super vos infos...
        Ce qui fait vraiment plaisir ce que l'on a la reponse du probleme pour les 2
        API (swing/awt) je sais pas si c fais exprès mais c sympa en plus les deux marche... :)
        que demande le peuple...
        2
        1. bonjour a tous
          j veux savoir comment afficher une frame sans les boutons fermer ,reduire et agrandir.
          merci d'avance.
          0
          1. up :)

            comment afficher une frame sans les boutons fermer ,reduire et agrandir.

            merci d'avance.
            3
            1. Tu peux utiliser JDialogu :

              //programme principal
              public class PP
              {
              //constructeur (qui crée ta fenetre)
              public static void main (String args[])

              {
              Image IIcone;

              //cree une nouvelle JDialogu
              JDialogu = new JDialogu ();

              //change le titre de la frame
              jd.setTitle("VisuaPro v1.0");

              //change l'icone de la frame
              IIcone = jd.getToolkit().getImage(".\\logo.ico");
              jd.setIconImage(IIcone);

              //si tu veux pas que l'on puisse la redimenssionner
              jd.setResizable(false);

              //on défini la taille de la frame : setBounds(pos X, pos Y, taille X, taille Y)
              jd.setBounds(0,0,400,400);

              //rend visible la fenetre/dialog
              jd.setVisible(true);

              }
              }
              }

              Bon tu aura seulement le bouton "fermer" mais c'est déjà mieu que rien...
              0
            2. @NicosUne petite faute au début :

              Tu peux utiliser JDialogu :

              //programme principal
              public class PP
              {
              //constructeur (qui crée ta fenetre)
              public static void main (String args[])

              {
              Image IIcone;

              //cree une nouvelle JDialogu
              JDialogu jd = new JDialogu ();

              .....
              0
            3. @NicosLa meilleure solution pour ce genre de cas c'est:
              this.setDefaultCloseOperation(EXIT_ON_CLOSE);
              0
          2. Pour ce qui est d'afficher une fenêtre sans les 3 boutons "réduire", "agrandir" et "fermer", y a pas plus simple.

            setUndecorated(true);

            tout simplement.

            Parcontre ça supprime aussi le contour de la fenêtre, donc je ne sais pas si c'est ce que tu désire mais le résultat est là, les boutons disparaissent. ;)
            6
            1. tu doit faire au niveau de ton frame :

              this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

              ça doit marcher
              0
              1. mets juste ça
                this.setDefaultCloseOperation(EXIT_ON_CLOSE);
                dans le constructeur de ta fenêtre
                2
                1. Salut,

                  J'espère que la fenêtre n'est pas restée ouverte depuis le 13 mars 2006 !!!...
                  0
                  1. this.setVisible(false);
                    by amine
                    0
                    1. ça ne ferme pas le programme, ça le cache: pas très économe pour la mémoire vive!
                      0
                  2. Urgent !
                    Svp , je sais commt fermer une frame mais si j'ai une frame avec 2 button Yes & non ,et je vx si je clic sur Yes de fermer frame et d'afficher lui comme si la 1er fois .( réinitialiser ).

                    public class Test extends JFrame {

                    public Test() {
                    super("aaa");

                    JOptionPane d = new JOptionPane();

                    int retour = d.showConfirmDialog(this, "You Win \n vs rejouez",
                    "JoueurX", d.YES_NO_OPTION, d.QUESTION_MESSAGE);
                    if (retour == 0) {

                    System.exit(DISPOSE_ON_CLOSE);
                    }

                    this.setVisible(true);
                    this.setSize(500, 300);
                    }

                    public static void main(String[] args) {

                    new Test();

                    }

                    }
                    0