Хорошо, я не мог придумать лучшего названия для моей проблемы.Как добавить ссылку вызывающего метода?
У меня есть таймер. Он галочки и после достаточного количества клещей, я хочу, чтобы он вызывал метод того, что его называл. Если кто-нибудь когда-либо использовали Unity, я пытаюсь сделать это:
public void test(String CallMeLater){
Invoke(CallMeLater); // Unity
caller.CallMeLater(); // Idea
}
Стоит отметить вещь, назвав его не статичен. Как это сделать?
Вот что у меня есть:
ЧАСЫ
public class Clock extends Thread {
Object test;
public Clock(int minutes, Object test) {
this.minutes = minutes;
this.test = test;
}
public void run() {
try {
Thread.sleep(1000);
} catch(Exception err) {}
test.SayHi();
run();
}
}
CALLER
public class MainWindow {
// When the Clock is created i want to pass "this" into it.
app.Clock clock = new app.Clock(60, this);
public MainWindow(){
// Creates frame, and add listeners. I cut it out.
// It has nothing to do with the problem at hand
}
private void Set(){
// This is where i start the timer
clock.start();
}
public void SayHi(){
System.out.println("Hi");
}
}
Вы хотите вызвать метод обратного вызова, предположительно, для уведомления о каком-либо виде событий? Затем вам нужна ссылка на объект, который изначально вызывал/запускал таймер ... – MadProgrammer
@MadProgrammer Yep. То, что я хочу делать. То что я спрашиваю как сделать. Как мне ссылаться на объект, который изначально его начал? –
Передайте вызывающий объект в качестве аргумента в этом методе или объявите поле с типом вызывающих этих методов. –