Invocare un metodo dinamico dall'ascoltatore

di Anonimizzato15086 il
3 risposte
Salve a tutti,

ho il seguente problema: sto creando un programma nel quale un oggetto pannello1 della classe Pannello che estende JPanel ha creato un oggetto timer1 di tipo Timer. timer1 si è subito creato un proprio ascoltatore.

Nel metodo ActionPerformed dell'ascoltatore io vorrei evocare dei metodi NON statici di pannello1, ovvero dell'oggetto che ha creato timer1, il quale ha creato l'ascoltatore (in altre parole vorrei evocare un metodo dinamico dell' "autore" dell' "autore" dell'ascoltatore). Come posso fare?

Per ora ho temporaneamente risolto il rpoblema adoperando metodi statici di Pannello nell'ascolatatore, ma confesso che questa soluzione non mi piace.

Grazie mille a tutti in anticipo!

//questo codice proviene dal metodo costruttore della classe Pannello a cui appartiene pannello1

Timer timer1 = new Timer(50,null);
		timer1.setInitialDelay(0);
		timer1.setRepeats(true);
		timer1.start();
		timer1.addActionListener(new ActionListener(){
			public void actionPerformed (ActionEvent ev){
			
			//QUI vorrei invocare un metodo NON statico dell'oggetto pannello1

			
			}
		});

3 Risposte

  • Ciao, non so quale sia il tuo problema ma in una anonymous inner class puoi invocare qualsiasi metodo della classe che la contiene.

    Inviato dal mio Nexus 5 utilizzando Tapatalk
  • 1-includi l'istanza di pannello1 in timer1 e la richiami con un metodo di pannello1
    2-includi l'istanza di pannello1 in ascoltatore

    queste due soluzioni dovrebbero andar bene
  • Giusto!!!
    Ho capito, grazie!
Devi accedere o registrarti per scrivere nel forum
3 risposte