vi riporto un esempio di codice, che sto usando per capire i WindowListener
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 concodice: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"); } } }, 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è?codice:c.setEnabled(false)

Rispondi quotando