vi riporto un esempio di codice, che sto usando per capire i WindowListener
codice:
package provajframe;


import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JFrame;




public class ciao extends JFrame implements ActionListener
{ 
    
            JButton c = new JButton("hello");
            JButton b = new JButton("ciao");
    ciao(){
          
          JFrame f = new JFrame();  
          f.setTitle("ciao");
          f.setSize(200,200);
          f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);
          f.setVisible(true);
          
          c.addActionListener(this); 
          b.addActionListener(this); 
          f.add(b);
          f.add(c);
          f.setLayout(new FlowLayout());
         }
       
   
            
    




    @Override
    public void actionPerformed(ActionEvent e)
    {
        
        
        if(e.getSource()==c)
        {
        JFrame p = new prova(); 
        c.setEnabled(false);
        p.addWindowListener(new WindowAdapter() 
        {
            public void WindowClosing(WindowEvent e)
            {
               System.out.println("seeeeeeeee"); 
            }
        });
        } 
      
        if (e.getSource()==b)
        {
        System.out.println("booooooooooo");
        }      
    }


}
il JFrame prova() è una semplice finestra che si apre appena clicco sul bottone hello, ora vorrei che quando quella finestra si apre , il bottone hello si disabiliti in modo da non creare altri JFrame prova() quindi all'apertura disabilito il bottone con
codice:
c.setEnabled(false)
, e appena clicco sulla X della finestra prova() vorrei che il bottone si riabilitasse. Per prova ho messo una System.out.println("seeeeeee") per vedere se entra, ma quando chiudo quella finestra non compare la System. Perchè?