package ui.view; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.util.ArrayList; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JTextField; import javax.swing.JComboBox; import javax.swing.DefaultComboBoxModel; import classes.HolonElement; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; public class AddElementPopUp extends JDialog { private final JPanel contentPanel = new JPanel(); private JTextField elementName; private JTextField providedEnergy; private JTextField amount; private HolonElement hl; /** * Launch the application. */ public static void main(String[] args) { try { AddElementPopUp dialog = new AddElementPopUp(); dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); dialog.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } /** * Create the dialog. */ public AddElementPopUp() { super((java.awt.Frame) null, true); setModalityType(java.awt.Dialog.ModalityType.APPLICATION_MODAL); setBounds(100, 100, 300, 190); getContentPane().setLayout(new BorderLayout()); contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5)); getContentPane().add(contentPanel, BorderLayout.CENTER); contentPanel.setLayout(null); this.setTitle("Add default Element to Object"); JLabel lblElementName = new JLabel("Element Name:"); lblElementName.setBounds(10, 11, 79, 14); contentPanel.add(lblElementName); JLabel lblProvidedEnergy = new JLabel("Provided Energy:"); lblProvidedEnergy.setBounds(10, 49, 90, 14); contentPanel.add(lblProvidedEnergy); JLabel lblAmount = new JLabel("Amount:"); lblAmount.setBounds(10, 84, 46, 14); contentPanel.add(lblAmount); elementName = new JTextField(); elementName.setBounds(140, 8, 110, 20); contentPanel.add(elementName); elementName.setColumns(10); final JComboBox sign = new JComboBox(); sign.setModel(new DefaultComboBoxModel(new String[] {"+", "-"})); sign.setBounds(100, 46, 33, 20); contentPanel.add(sign); providedEnergy = new JTextField(); providedEnergy.setBounds(140, 46, 110, 20); contentPanel.add(providedEnergy); providedEnergy.setColumns(10); providedEnergy.setText("0"); amount = new JTextField(); amount.setBounds(140, 81, 110, 20); contentPanel.add(amount); amount.setColumns(10); amount.setText("0"); { JPanel buttonPane = new JPanel(); buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT)); getContentPane().add(buttonPane, BorderLayout.SOUTH); { JButton okButton = new JButton("OK"); okButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { if(elementName.getText().length() != 0){ try{ float energy = Float.parseFloat(providedEnergy.getText().toString()); int elementAmount = Integer.parseInt(amount.getText().toString()); if(sign.getSelectedItem().toString().equals("-")){ energy = energy * -1; } hl = new HolonElement(elementName.getText().toString(), energy, elementAmount); dispose(); } catch(NumberFormatException e){ JOptionPane.showMessageDialog(new JFrame(),"Please enter numbers in the Fields amount and providedEnergy"); } }else{ JOptionPane.showMessageDialog(new JFrame(), "Please enter a Name"); } } }); okButton.setActionCommand("OK"); buttonPane.add(okButton); getRootPane().setDefaultButton(okButton); } { JButton cancelButton = new JButton("Cancel"); cancelButton.setActionCommand("Cancel"); buttonPane.add(cancelButton); } } } public HolonElement getElement(){ return hl; } }