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); }