Ciao a tutti,
ho un piccolo problema e sicuramente mi sfugge qualche banalità.
Le tre classi mostrate sotto, generano una semplice GUI con un tasto che quando premuto viene mostrata una label sempre all'interno della GUI stessa. Non ottengo nessun errore ma quando provo a chiudere la GUI questa non nè vuole sapere.
Grazie
ciao
P.S.: chiedo scusa al moderatore ALKA che mi ha chiuso il post precedente per mia negligenza, prometto che ciò non accadrà più.
Di seguito il codice delle tre classi:
-----------------------------------------------------------------------------------
prima classe:
-----------------------------------------------------------------------------------
public class EseGestEveClassiAnonime
{
public static void main(String[] args)
{
ModelloDelegazioneAnonimo model=new ModelloDelegazioneAnonimo();
ChiudGui ch=new ChiudGui();
model.setup();
ch.chiudi();
}
}
-------------------------------------------------------------------------------------
seconda clsse:
-------------------------------------------------------------------------------------
import java.awt.*;
import java.awt.event.*;
public class ModelloDelegazioneAnonimo
{
private Frame fr;
private Button butt;
private Label l;
public ModelloDelegazioneAnonimo()
{
fr=new Frame("Modello delegazione anonimo");
butt=new Button("Premi questo tasto");
l=new Label();
}
public void setup()
{
butt.addActionListener(new ActionListener()
{
private int counter;
public void actionPerformed(ActionEvent e)
{
l.setText(e.getActionCommand()+"-"+(++counter));
}
});
fr.add(butt,BorderLayout.SOUTH);
fr.add(l);
fr.pack();
fr.setVisible(true);
}
public Frame get()
{
return fr;
}
}
--------------------------------------------------------------------------------
terza classe:
--------------------------------------------------------------------------------
import java.awt.*;
import java.awt.event.*;
public class ChiudGui extends ModelloDelegazioneAnonimo
{
private Frame frame;
public ChiudGui()
{
frame=this.get();
}
public void chiudi()
{
frame.addWindowListener(new WindowListener()
{
public void windowClosing (WindowEvent ev)
{
System.exit(0);
}
public void windowClosed (WindowEvent ev) {}
public void windowOpened (WindowEvent ev) {}
public void windowActivated (WindowEvent ev) {}
public void windowDeactivated (WindowEvent ev) {}
public void windowIconified (WindowEvent ev) {}
public void windowDeiconified (WindowEvent ev) {}
});
}
}
---------------------------------------------------------------------------------