#java #parameters
#java #параметры
Вопрос:
У меня есть JFrame, который является основным классом программы. Я хочу передать его самого другим двум классам, одному, который обновит некоторую метку статистикой, а другой, который проверит множество полей.
Я выполнил методы получения для этих полей, но как я могу передать сам JFrame этим классам, чтобы они могли выполнять свою работу?
РЕДАКТИРОВАТЬ: моя ошибка, my fault. Первое, что я сделал, это this
метод. Да, this
решает мою проблему, но он не понял, что я совершаю ошибку.
Я делал это: new Statistics().execute(this);
где правильно это: new Statistics(this).execute();
Только после того, как все ответы говорили одно и то же, я понял, что делаю глупость. Спасибо всем.
Комментарии:
1. Я не думаю, что вы можете это сделать. Потому что, если вы хотите передать самого себя, вам нужно изменить какой-либо метод JFrame и вставить это «прохождение» в этот метод. Что вы подразумеваете под передачей самого JFram?
Ответ №1:
Просто передайте ссылку на this
public class Other {
public void doSomething(JFrame jFrame) {
...
}
}
public class MyFrame extends JFrame {
Other other = new Other();
public void method() {
other.doSomething(this);
}
}
Ответ №2:
Псевдопеременная this
всегда указывает на текущий объект в методе экземпляра. Просто передайте this
в качестве аргумента, куда вы хотите, чтобы шла ссылка.
Ответ №3:
Вы можете использовать this
для передачи самого себя в методе.
foo(this);
Ответ №4:
вы пробовали использовать this
?
Например:
other.doSomething(this)