Мой текущий проект структурирован как этот
MainStage
| _ Главный контроллер
| _ MainScene.fxmlNullPointerException при доступе элемента fxml от контроллера?
public class MainController implements Initializable {
@FXML
public void switchToEmail() throws Exception{
EmailController ec = new EmailController();
ec.display();
}
Я загрузил MainController в MainScene.fxml с помощью Fx: контроллер я очередной этап создал
EmailStage
| _Email контроллер | _Email Сцена
public class EmailController implements Initializable{
HashMap emails;
@FXML
public static TextArea emailSceneTextArea;
@FXML
public void display(){
emails = new HashMap<Integer, String>();
String responseEmails = null;
System.out.println(emailSceneTextArea.getText());
try {
responseEmails = this.getEmails().trim();
} catch (Exception ex) {
System.out.println("responseEmail Exception in EmailController.java");
}
emails = ParseXml.parse(responseEmails, "emails");
Set s = emails.keySet();
Iterator it = s.iterator();
while (it.hasNext()) {
Integer i = (Integer)it.next();
String text = emailSceneTextArea.getText(); /*NullPointerException Line*/
String email = (String) emails.get(i);
emailSceneTextArea.setText(text+email);
}
}
public String getEmails() throws Exception{
RequestHandler rq = new RequestHandler();
return rq.prepare("fetchEmails", "nothing");
}
И я загружен EmailController в emailScene.fxml с помощью Fx: контроллер
При переключении на стадии emailStage в EmailController я получаю «NullPointerException» в строке упоминается. Где я поступаю неправильно?
P.S = После того как вы потратили пару часов, когда я набрал метод отображения из действия кнопки emailScene.fxml. Это сработало. Смутно почему?
Я думал об одном и том же так, чтобы текстовый атрибут в поле текстовой области fxml. Это фиктивная текстовая строка «Hello» –