Witam, uczę się Javy z książki Java 2 Podstawy Horstmana z 2003 roku i mam następujący problem. W jednym z przykładów występuje błąd w konstruktorze klasy Timer:
ActionListener sumator = new SumatorOdsetek(stopa);
Timer t = new Timer(1000, sumator);
//The constructor Timer(int, ActionListener) is undefined
Ponadto eclipse podpowiada, aby rzutować na ActionListener albo zmienić typ argumentu sumator...niestety rzutowanie nic nie daje, a zmiana argumentu nie wchodzi chyba w grę...
Cała klasa wygląda tak:
class KontoBankowe
{
/**
Metoda tworzy konto bankowe o podanym stanie początkowym
@param stanPoczatkowy stan początkowy
*/
public KontoBankowe(double stanPoczatkowy)
{
stan = stanPoczatkowy;
}
/**
Metoda rozpoczyna symulację, w której odsetki są dodawane co
sekundę
@param stopa stopa odsetek w procentach
*/
public void start(double stopa)
{
ActionListener sumator = new SumatorOdsetek(stopa);
Timer t = new Timer(1000, (java.awt.event.ActionListener) sumator);
t.start();
}
private double stan;
/**
Ta klasa dodaje odsetki do konta bankowego
Stoper wywołuje metodę actionPerformed
*/
private class SumatorOdsetek implements ActionListener
{
public SumatorOdsetek(double aStopa)
{
stopa = aStopa;
}
public void actionPerformed(ActionEvent zdarzenie)
{
// aktualizuj odsetki
double odsetki = stan * stopa / 100;
stan += odsetki;
// pokaż obecny stan konta
NumberFormat formator = NumberFormat.getCurrencyInstance();
System.out.println("stan = " + formator.format(stan));
}
private double stopa;
}
}
<font size="3">
// popraw temat!</span> - deti