Я искал и уверен, что у других тоже есть эта проблема.Многие посты остаются без ответа или за них проголосовали, и никакого решения не дано, даже для моего собственного поста.Я хотел знать, как я могу передавать данные меток между классами.Например, скажем, у меня есть следующее:
Первый класс:
Label lab;
public void setText() {
lab.setText("hello");
}
public String getText() {
return lab.getText();
}
public void switchScene(ActionEvent event) throws IOException {
//code to switch scenes when button pressed
setText(); //this is also called when button pressed
}
Средний класс:
public void switchScenes(ActionEvent event) throws IOException {
FirstScreenController p = new FirstScreenController();
n.displayAmt(p.getText()); //get text from first scene's label
}
Целевой класс:
Label otherLab;
public void displayAmt(String amt) {
otherLab.setText(amt); //set text from first scene's label to this label
}
Предположим, что метод среднего класса установлен на кнопку.После нажатия кнопки все работает нормально, так как программа переключает сцены.Однако otherLab в классе Target пуст.Текст с метки в первом классе был неудачно перенесен на метку в целевом классе.
Как можно исправить это?Я знаю, что java передается по значению, поэтому первая метка не будет содержать изменений, внесенных функцией.Что можно сделать, чтобы преодолеть это?