Передача данных между диалогом и панелью

#swing

#swing

Вопрос:

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

будет ли firepropertychange работать в этом случае?

Любая помощь будет оценена

Спасибо

Ответ №1:

Я бы посоветовал вам либо иметь ссылку на фрейм / таблицу, переданную вашему диалоговому окну. затем нажмите кнопку ok, чтобы выполнить операции.

Или еще один способ: создайте прослушиватель действий, который будет вызываться при нажатии кнопки ok во фрейме, затем в вашем пользовательском диалоговом окне у вас будут соответствующие методы для получения значений из его поля, и вы добавите их в таблицу.

Удачи, Боро.

Комментарии:

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

2. Да, вы могли бы попробовать использовать изменение свойства fire, если хотите. Но вам нужно будет каким-то образом получить поля, и вам, вероятно, потребуется выполнить эту операцию только при нажатии кнопки ok, поэтому я бы предложил использовать решение, включающее Action / ActionListener. При изменении свойства назначьте свое собственное имя / тип свойства. Установите прослушиватель свойств в этом диалоговом окне, запустите изменение свойства одним щелчком мыши, и все готово. Но не забудьте отфильтровать, чтобы использовать только ваши свойства, поскольку по умолчанию используется несколько значений по умолчанию.

3. Я заметил, что firepropertychange делает мой код намного сложнее. Передача ссылки намного проще. Итак, какой подход лучше?

4. Исходя из моего собственного опыта, я бы настоятельно сказал, что передача ссылки — это гораздо «лучшее» решение, более гибкое. Например, вы можете иметь общее представление о функциональности этого диалогового окна и повторно использовать его, передавая ему ссылку на него класса, реализующего ваш интерфейс. Таким образом, у вас есть одно диалоговое окно для отображения и выполнения соответствующих операций переданного класса. Я создал для себя диалоговое окно, которое устанавливает свои собственные действия на панели, которую я использую в качестве представления для записи в базе данных, когда пользователь редактирует ее.

5. Прохладный. Получайте удовольствие и наслаждайтесь Java. 🙂