Zasadniczo chcę uzyskać przycisk uruchamiania, aby zainicjować metodę działającą w innej klasie i działającą na innym obiekcie.Java: Używanie actionlistener do wywoływania funkcji w innej klasie na obiekcie z tej klasy
Mój kod dla słuchacza:
button1a.addActionListener(new ActionListener() {
public void actionPerformed (ActionEvent event) {
// Figure out how to make this work
//sim.runCastleCrash();
}
});
Mój kod do drugiej klasy:
public static void main(String[] args) {
CastleCrash sim;
sim = new CastleCrash();
}
i
public void runCastleCrash() {
System.out.println("Castle Crash is beginning...");
//Other method parts here to be added
}
mam wrażenie, to nie może być zbyt trudne , ale brakuje mi kawałka.
Jakie błędy dostałeś? Czy zmienna 'sim' jest jeszcze w zasięgu podczas próby dodania actionListener do przycisku? Typową pułapką jest to, że zmienne muszą być ostateczne, aby były dostępne z anonimowej klasy wewnętrznej, takiej jak ActionListener. –
pojawia się błąd: Wyjątek w wątku „main” java.lang.Error: nierozwiązanym problemem kompilacja: \t sim nie może być rozwiązany Chyba masz rację, że jej problem z karta SIM nie jest w zakresie, ale nie mogę wymyślić, jak zrobić to końcowym ... – Myles
Zobacz odpowiedź McDowell, to, co bym odpowiedział. –