Allora, è un po' male organizzato, nel senso che sarebbe meglio far estendere JFrame alla classe TroteTester e creare un costruttore che inizializzi la parte grafica. Nel main crei semplicemente l'istanza della classe TroteTester.
Inoltre, c'è da passare un riferimento a TroteTester alla tua classe TroteListener, in modo che diventi una cosa del genere:
codice:
public class TroteListener implements ActionListener
{
TroteTester tt;
public TroteListener(TroteTester tt)
{
this.tt = tt;
popolazione = 2;
}
public void actionPerformed( ActionEvent event )
{
popolazione = popolazione * 2;
tt.label.setText( "Popolazione " + popolazione );
}
private int popolazione;
}
che richiamerai da TroteTester così:
codice:
ActionListener listener = new TroteListener(this);