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. 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
  3. 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. 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. 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. 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. mets juste ça
          this.setDefaultCloseOperation(EXIT_ON_CLOSE);
          dans le constructeur de ta fenêtre
          2
          1. si j'utilise System.exit(0); à peine ouverte, elle se ferme ma fenêtre !!
            0
            1. bonjour a tous
              j veux savoir comment afficher une frame sans les boutons fermer ,reduire et agrandir.
              merci d'avance.
              0
              1. tu doit faire au niveau de ton frame :

                this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

                ça doit marcher
                0
                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