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è?