m_SetupPanel.addPropertyChangeListener(new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent e) { m_ResultsPanel.setExperiment(m_Exp); } });
  public Main() {    m_NewBut.addActionListener(new ActionListener() {      public void actionPerformed(ActionEvent e) {	setExperiment(new Experiment());      }    });    m_SaveBut.setEnabled(false);    m_SaveBut.addActionListener(new ActionListener() {      public void actionPerformed(ActionEvent e) {	saveExperiment();      }    });    m_OpenBut.addActionListener(new ActionListener() {      public void actionPerformed(ActionEvent e) {	openExperiment();      }    });    m_FileChooser.setFileFilter(m_ExpFilter);    m_FileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);        m_SetupPanel = new SetupPanel();    m_RunPanel = new RunPanel();    m_ResultsPanel = new ResultsPanel();    JPanel p1 = new JPanel();    p1.setLayout(new GridLayout(1, 3));    p1.add(m_OpenBut);    p1.add(m_SaveBut);    p1.add(m_NewBut);        JTabbedPane tabbedPane = new JTabbedPane();    tabbedPane.addTab("Setup", null, m_SetupPanel, "Set up experiment");    tabbedPane.addTab("Run", null, m_RunPanel, "Run experiment");    tabbedPane.addTab("Results", null, m_ResultsPanel,		      "Analyse experiment results");    tabbedPane.setSelectedIndex(0);        setLayout(new BorderLayout());    add(p1, BorderLayout.NORTH);    add(tabbedPane, BorderLayout.CENTER);  }