Передать параметр в новое окно - Java

Узнай цену своей работы

Формулировка задачи:

Всем привет. Только недавно начал изучать Java. Подскажите, не знаю как передать параметр в новое окно. Программа типа справочника, берет данные из базы. На главном окне лежит ListView заполненный из первой таблицы базы. В контроллере к этому окну описано событие нажатия на Item
@FXML
 private ListView<String> listUpfr;
 public WindowController contr;
 
.......
        listUpfr.setOnMouseClicked(new EventHandler<MouseEvent>() {
            @Override
            public void handle(MouseEvent event) {
                Stage stageWindow = new Stage();
                try {
                    int id_upfr = listUpfr.getSelectionModel().getSelectedIndex();
                    FXMLDocumentController(stageWindow);
                    String id = String.valueOf(id_upfr+1);
 
                    contr.ListInfoUpfr(id);

                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        });
       // создается новое окно
       public void FXMLDocumentController(Stage stageWindow) throws IOException {
 
        Parent root = FXMLLoader.load(getClass().getResource("popup.fxml"));
        stageWindow.setTitle("Информация");
 
        Scene scene = new Scene(root, 570, 200);
        stageWindow.setScene(scene);
        scene.getStylesheets().add(Main.class.getResource("stile.css").toExternalForm());
        stageWindow.show();
    }
В контроллере нового окна поле TextArea которое нужно заполнить текстом из второй таблицы в зависимости от нажатого Item в ListView :
public class WindowController extends Parent {
 
    @FXML
    private TextArea listInfoUpfr;
 
    public ListUpfr listupfr = new ListUpfr();

    public void ListInfoUpfr(String id) {
        System.out.println(id);
    }

    public void initialize() {
        listInfoUpfr.setText(......);
    }
Из первого контроллера я передаю id в метод ListInfoUpfr второго контроллера. Как передать в полученный id в
public void initialize() {
        listInfoUpfr.setText(......);
    }
заполнить TextArea. Прошу сильно не пинать.

Решение задачи: «Передать параметр в новое окно»

textual
Листинг программы
public int id_upfr;
int retIdUpfr() {
        id_upfr = listUpfr.getSelectionModel().getSelectedIndex() + 1;
        return id_upfr;
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5
Похожие ответы