AddElementPopUp.java 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. package ui.view;
  2. import java.awt.BorderLayout;
  3. import java.awt.FlowLayout;
  4. import java.util.ArrayList;
  5. import javax.swing.JButton;
  6. import javax.swing.JDialog;
  7. import javax.swing.JPanel;
  8. import javax.swing.border.EmptyBorder;
  9. import javax.swing.JFrame;
  10. import javax.swing.JLabel;
  11. import javax.swing.JOptionPane;
  12. import javax.swing.JTextField;
  13. import javax.swing.JComboBox;
  14. import javax.swing.DefaultComboBoxModel;
  15. import classes.HolonElement;
  16. import java.awt.event.ActionListener;
  17. import java.awt.event.ActionEvent;
  18. public class AddElementPopUp extends JDialog {
  19. private final JPanel contentPanel = new JPanel();
  20. private JTextField elementName;
  21. private JTextField providedEnergy;
  22. private JTextField amount;
  23. private HolonElement hl;
  24. /**
  25. * Launch the application.
  26. */
  27. public static void main(String[] args) {
  28. try {
  29. AddElementPopUp dialog = new AddElementPopUp();
  30. dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
  31. dialog.setVisible(true);
  32. } catch (Exception e) {
  33. e.printStackTrace();
  34. }
  35. }
  36. /**
  37. * Create the dialog.
  38. */
  39. public AddElementPopUp() {
  40. super((java.awt.Frame) null, true);
  41. setModalityType(java.awt.Dialog.ModalityType.APPLICATION_MODAL);
  42. setBounds(100, 100, 300, 190);
  43. getContentPane().setLayout(new BorderLayout());
  44. contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
  45. getContentPane().add(contentPanel, BorderLayout.CENTER);
  46. contentPanel.setLayout(null);
  47. this.setTitle("Add default Element to Object");
  48. JLabel lblElementName = new JLabel("Element Name:");
  49. lblElementName.setBounds(10, 11, 79, 14);
  50. contentPanel.add(lblElementName);
  51. JLabel lblProvidedEnergy = new JLabel("Provided Energy:");
  52. lblProvidedEnergy.setBounds(10, 49, 90, 14);
  53. contentPanel.add(lblProvidedEnergy);
  54. JLabel lblAmount = new JLabel("Amount:");
  55. lblAmount.setBounds(10, 84, 46, 14);
  56. contentPanel.add(lblAmount);
  57. elementName = new JTextField();
  58. elementName.setBounds(140, 8, 110, 20);
  59. contentPanel.add(elementName);
  60. elementName.setColumns(10);
  61. final JComboBox sign = new JComboBox();
  62. sign.setModel(new DefaultComboBoxModel(new String[] {"+", "-"}));
  63. sign.setBounds(100, 46, 33, 20);
  64. contentPanel.add(sign);
  65. providedEnergy = new JTextField();
  66. providedEnergy.setBounds(140, 46, 110, 20);
  67. contentPanel.add(providedEnergy);
  68. providedEnergy.setColumns(10);
  69. providedEnergy.setText("0");
  70. amount = new JTextField();
  71. amount.setBounds(140, 81, 110, 20);
  72. contentPanel.add(amount);
  73. amount.setColumns(10);
  74. amount.setText("0");
  75. {
  76. JPanel buttonPane = new JPanel();
  77. buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
  78. getContentPane().add(buttonPane, BorderLayout.SOUTH);
  79. {
  80. JButton okButton = new JButton("OK");
  81. okButton.addActionListener(new ActionListener() {
  82. public void actionPerformed(ActionEvent arg0) {
  83. if(elementName.getText().length() != 0){
  84. try{
  85. float energy = Float.parseFloat(providedEnergy.getText().toString());
  86. int elementAmount = Integer.parseInt(amount.getText().toString());
  87. if(sign.getSelectedItem().toString().equals("-")){
  88. energy = energy * -1;
  89. }
  90. hl = new HolonElement(elementName.getText().toString(), energy, elementAmount);
  91. dispose();
  92. } catch(NumberFormatException e){
  93. JOptionPane.showMessageDialog(new JFrame(),"Please enter numbers in the Fields amount and providedEnergy");
  94. }
  95. }else{
  96. JOptionPane.showMessageDialog(new JFrame(), "Please enter a Name");
  97. }
  98. }
  99. });
  100. okButton.setActionCommand("OK");
  101. buttonPane.add(okButton);
  102. getRootPane().setDefaultButton(okButton);
  103. }
  104. {
  105. JButton cancelButton = new JButton("Cancel");
  106. cancelButton.setActionCommand("Cancel");
  107. buttonPane.add(cancelButton);
  108. }
  109. }
  110. }
  111. public HolonElement getElement(){
  112. return hl;
  113. }
  114. }