Example #1
0
  public void actionPerformed(ActionEvent e) {
    if (bean == null) {
      log.error("No bean set so unable to edit a null bean"); // IN18N
      return;
    }
    if (f == null) {
      f = new JmriJFrame("Edit " + getBeanType() + " " + bean.getDisplayName(), false, false);
      f.addHelpMenu(helpTarget(), true);
      java.awt.Container containerPanel = f.getContentPane();
      initPanelsFirst();
      initPanels();
      initPanelsLast();

      for (BeanItemPanel bi : bei) {
        addToPanel(bi, bi.getListOfItems());
        detailsTab.addTab(bi.getName(), bi);
      }

      containerPanel.add(detailsTab, BorderLayout.CENTER);
      JPanel buttons = new JPanel();
      JButton applyBut = new JButton(Bundle.getMessage("ButtonApply"));
      applyBut.addActionListener(
          new ActionListener() {
            public void actionPerformed(ActionEvent e) {
              applyButtonAction(e);
            }
          });
      JButton okBut = new JButton(Bundle.getMessage("ButtonOK"));
      okBut.addActionListener(
          new ActionListener() {
            public void actionPerformed(ActionEvent e) {
              applyButtonAction(e);
              f.dispose();
            }
          });
      JButton cancelBut = new JButton(Bundle.getMessage("ButtonCancel"));
      cancelBut.addActionListener(
          new ActionListener() {
            public void actionPerformed(ActionEvent e) {
              cancelButtonAction(e);
            }
          });
      buttons.add(applyBut);
      buttons.add(okBut);
      buttons.add(cancelBut);
      containerPanel.add(buttons, BorderLayout.SOUTH);
    }
    for (BeanItemPanel bi : bei) {
      bi.resetField();
    }
    if (selectedTab != null) {
      detailsTab.setSelectedComponent(selectedTab);
    }
    f.pack();
    f.setVisible(true);
  }