Quel codice è sbagliato.
La tua classe GUI è già un JFrame... perchè nel costruttore ne costruisci un'altro?
Questa riga crea una nuova finestra... diversa, che nulla ha a che vedere con l'oggetto di classe Gui.codice:JFrame f = new JFrame();
Non creare una nuova finestra, ma usa quella che stai creando (nel costruttore):
Ciao.codice:import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Gui extends JFrame { public Gui() { setTitle("GUI"); setBackground(Color.red); setBounds(100,100,300,300); setLayout(null); addWindowListener(new Ascoltatore()); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } public static void main(String[] args) { Gui p = new Gui(); } class Ascoltatore extends WindowAdapter { public void WindowClosing(WindowEvent oggettoEvento) { String chiusura="Grazie per aver utilizzato questo programma"; JOptionPane.showMessageDialog(null, chiusura); System.exit(0); } } }![]()



Rispondi quotando