Как передать значение из одного JFrame в другой (уже открытый), не создавая новый объект? - PullRequest
0 голосов
/ 27 сентября 2019

Есть два JFrame, один Home, а другой search.

search находит объект, и мне нужно отправить его обратно на Home, который вызвал его,Проблема в том, что когда я передаю значение в Home, он каждый раз создает новый объект.Но мне нужно отправлять перемещение между обоими кадрами несколько раз и продолжать добавлять данные из search и продолжать добавлять в таблицу в Home.

Home obj=new Home();
obj.sno=val;

'new' открывает новый экземпляр Home и мои предыдущие данные потеряны.

1 Ответ

0 голосов
/ 27 сентября 2019

Я не уверен, что это хороший дизайн, но это обходной путь, который поможет выполнить то, что вам нужно.

Поскольку поиск вызывается из дома, возможный обходной путь - передача домашнего экземплярапоисковый конструктор.

Search search = new Search(this);

И конструктор поиска будет хранить его как атрибут.Таким образом, объект поиска будет иметь доступ к вызывающему домашнему экземпляру.Конструктор поиска будет выглядеть примерно так:

public Search(Home home) {
    this.caller = home;
}

, и вы можете захотеть иметь атрибут вызывающего абонента (с типом данных Home) в классе поиска.

Когда поиск завершен с его обработкойвместо создания нового объекта Home он может просто присвоить значение атрибуту home.Это будет выглядеть примерно так:

caller.sno=val;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...