2012-11-02 1 views
1

У меня вопрос с кодом. Позвольте мне объяснить сценарий, а затем вопрос. У меня есть 2 панели ниже enter image description hereДетский кадр, вызывающий родительский кадр. Дизайн кода

В принципе, первая панель при нажатии начинается с второй панели. На второй панели, когда выбран файл (синий фон). Этот файл необходимо открыть в панели редактора первой панели.

Вопрос в том, что это хорошая практика для этого. Обе мои панели - это отдельные классы. В настоящее время вторая панель содержит ссылку на первую панель. И при выборе, вызывает соответствующий метод первого класса для вывода csv. Это плохой дизайн в любой день. Каким образом детские кадры обновляют аспект родительского кадра?

ответ

2
  • использование JDialog(parent, modal) вместо JFrame, может быть, зависит от модальности

  • создать JDialog только один раз, повторно использовать этот контейнер для другого события пришли от родителей

  • JDialog.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE), затем каждые последующие действия только около setVisible(true/false), завернутый в invokeLater()

  • затем верните (проверьте, если c ОДЕРЖАНИЕ изменился, изменяется обратно к родителю

  • вы можете поставить там проверки на действия пользователей из JOptionPane("DYW to save changes ??"))

+0

Можете ли вы объяснить, последние 2 балла? Немного неясно – Jatin

+0

вы можете описать, что вы сможете заполнять данные из одного класса другому (хорошее представление), тогда вы должны проверить, есть ли какие-то изменения, и/или все данные действительны для родительского окна, вы может запускаться (после того, как проверки или проверки не пройдены) действие следующего пользователя путем проверки в стороне пользователя, это действие может быть передано, проверки перенастраивают некоторые исключения из строк или могут использовать roll_back для всего действия (ничего не произошло, ничего не добавлено, ei) – mKorbel

+0

Но как вернуть JDIalog имя_файла? – Jatin