Общий объект между несколькими JInternalFrames - PullRequest
0 голосов
/ 16 февраля 2010

Какой самый эффективный метод реализации общего объекта данных между несколькими JInternalFrames в одном JDesktopPane?

Не уверен, стоит ли идти с синглтоном или можно поместить объект данных в JDesktopPane и получить доступ из компонента? Я не хочу хранить отдельные экземпляры этих данных для каждого кадра (много кадров)

1 Ответ

1 голос
/ 16 февраля 2010

Я бы держался подальше от синглтона (так как использование глобальных переменных - в родстве - см. здесь для описания) и вместо этого подкласса JInternalFrame для ссылки на общий объект данных; например,

public class MyInternalFrame extends JInternalFrame {
  private final SharedData data;

  public MyInternalFrame(SharedData data) {
    this.data = data;
  }
}

Очевидно, что, несмотря на наличие нескольких ссылок на ваши SharedData (по одной на экземпляр MyInternalFrame), в вашей системе все еще остается только один SharedData объект; то есть вы не дублируете данные с помощью этого подхода.

...