AddElementPopUp.java 4.3 KB

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