Fermer une JFrame en cliquant sur un JButton

Fermer une JFrame en cliquant sur un JButton - Java - Programmation

Marsh Posté le 17-02-2010 à 22:51:29    

Bonjour à tous,
 
Je suis un peu novice en SWING, je demande un peu plus d'indulgence s'il vous plait!
Tout simplement, j'ai une JFrame avec un boutton Ok. Ce que je veux faire c'est qu'une fois que je clique sur ce boutton je ferme ou bien je libère carrément le JFrame de la mémoire.
Voici un bout de code que j'ai écrit, mais pour des raisons que j'ignore; il ne marche pas.
 

Citation :

public class MyFrame extends JFrame {
 public MyFrame(){
  super("About" );
 
  JButton btnOk = new JButton("Ok" );        
  btnOk.setBounds(150, 120, 70, 25);
                btnOk.addActionListener(new ActionListener(){
   public void actionPerformed(ActionEvent e) {
    setDefaultCloseOperation(DISPOSE_ON_CLOSE);    
   }      
         });
  this.setLayout(null);
  this.add(btnOk);
                this.setSize(370, 200);
                this.setLocationRelativeTo(this.getParent());
                this.setAlwaysOnTop(true);
                this.setResizable(false);
                this.setVisible(true);
}


 
D'autre part je voudrai que cette JFrame soit Modale (c'est à dire il ne me serait pas possible de cliquer quelque part ailleurs tant que je n'ai pas fermé cette JFrame).
 
Je vous remercie d'avance pour votre aide.

Reply

Marsh Posté le 17-02-2010 à 22:51:29   

Reply

Marsh Posté le 17-02-2010 à 23:32:46    

Pour fermer la frame, il suffit d'en appeler la méthode dispose().

Reply

Marsh Posté le 18-02-2010 à 01:24:07    

Merci Elmoricq. Effectivement oui, cela marche.
Pour la 2ème question, j'ai fini par utiliser une JDialog, celle là est mieux adaptée à ce genre de situations. Avec la méthode MyDialog.setModal(true)

Reply

Marsh Posté le 09-03-2010 à 08:06:08    

vengaboys a écrit :

Bonjour à tous,
D'autre part je voudrai que cette JFrame soit Modale (c'est à dire il ne me serait pas possible de cliquer quelque part ailleurs tant que je n'ai pas fermé cette JFrame).


 
Pour les cas usuels, il y a des classes qui te permettent de faire les choses simplement, je pense notamment à un explorateur de fichier, un dialogue "ok, cancel", choix d'une couleur ou d'une font.
D'une manière générale, cherche dans la doc avant de chercher à faire par toi même, tu gagnera souvent du temps  :)  

Reply

Sujets relatifs:

Leave a Replay

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