|
@@ -1,177 +1,177 @@
|
|
|
-package ui.view;
|
|
|
-
|
|
|
-import classes.AbstractCpsObject;
|
|
|
-import classes.HolonElement;
|
|
|
-import classes.HolonObject;
|
|
|
-
|
|
|
-import javax.swing.*;
|
|
|
-import javax.swing.border.EmptyBorder;
|
|
|
-import java.awt.*;
|
|
|
-import java.awt.event.KeyEvent;
|
|
|
-import java.awt.event.KeyListener;
|
|
|
-
|
|
|
-/**
|
|
|
- * popup for adding an Holon Element to a holon Object.
|
|
|
- *
|
|
|
- * @author Gruppe14
|
|
|
- */
|
|
|
-public class AddElementPopUp extends JDialog {
|
|
|
-
|
|
|
- /**
|
|
|
- * Serial.
|
|
|
- */
|
|
|
- private static final long serialVersionUID = 1L;
|
|
|
- private final JPanel contentPanel = new JPanel();
|
|
|
- private JTextField elementName;
|
|
|
- private JTextField providedEnergy;
|
|
|
- private JTextField amount;
|
|
|
- private HolonElement hl;
|
|
|
- private AbstractCpsObject tempCps;
|
|
|
-
|
|
|
-// /**
|
|
|
-// * Launch the application.
|
|
|
-// *
|
|
|
-// * @param args
|
|
|
-// * standard
|
|
|
-// */
|
|
|
-// 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.
|
|
|
- */
|
|
|
- AddElementPopUp(JFrame parentFrame) {
|
|
|
- super((java.awt.Frame) null, true);
|
|
|
- this.setIconImage(Util.loadImage(this,"/Images/Dummy_House.png",30,30));
|
|
|
- setModalityType(java.awt.Dialog.ModalityType.APPLICATION_MODAL);
|
|
|
- setBounds(100, 100, 400, 190);
|
|
|
- setLocationRelativeTo(parentFrame);
|
|
|
- getContentPane().setLayout(new BorderLayout());
|
|
|
- contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
|
|
|
- getContentPane().add(contentPanel, BorderLayout.CENTER);
|
|
|
- contentPanel.setLayout(null);
|
|
|
- this.setTitle(Languages.getLanguage()[64]);
|
|
|
-
|
|
|
- JLabel lblElementName = new JLabel(Languages.getLanguage()[65]);
|
|
|
- lblElementName.setBounds(10, 11, 100, 14);
|
|
|
- contentPanel.add(lblElementName);
|
|
|
-
|
|
|
- JLabel lblProvidedEnergy = new JLabel(Languages.getLanguage()[66]);
|
|
|
- lblProvidedEnergy.setBounds(10, 49, 120, 14);
|
|
|
- contentPanel.add(lblProvidedEnergy);
|
|
|
-
|
|
|
- JLabel lblAmount = new JLabel(Languages.getLanguage()[67]);
|
|
|
- lblAmount.setBounds(10, 84, 100, 14);
|
|
|
- contentPanel.add(lblAmount);
|
|
|
-
|
|
|
- elementName = new JTextField();
|
|
|
- elementName.addKeyListener(new KeyListener() {
|
|
|
- @Override
|
|
|
- public void keyPressed(KeyEvent arg0) {
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void keyReleased(KeyEvent e) {
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void keyTyped(KeyEvent e) {
|
|
|
- elementName.setBackground(Color.WHITE);
|
|
|
- }
|
|
|
- });
|
|
|
- elementName.setBounds(130, 8, 110, 20);
|
|
|
- contentPanel.add(elementName);
|
|
|
- elementName.setColumns(10);
|
|
|
-
|
|
|
- providedEnergy = new JTextField();
|
|
|
- providedEnergy.setBounds(130, 46, 110, 20);
|
|
|
- contentPanel.add(providedEnergy);
|
|
|
- providedEnergy.setColumns(10);
|
|
|
- providedEnergy.setText("0");
|
|
|
-
|
|
|
- amount = new JTextField();
|
|
|
- amount.setBounds(130, 81, 110, 20);
|
|
|
- contentPanel.add(amount);
|
|
|
- amount.setColumns(10);
|
|
|
- amount.setText("1");
|
|
|
- {
|
|
|
- JPanel buttonPane = new JPanel();
|
|
|
- buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
|
|
|
- getContentPane().add(buttonPane, BorderLayout.SOUTH);
|
|
|
- {
|
|
|
- JButton okButton = new JButton("OK");
|
|
|
- okButton.addActionListener(arg0 -> {
|
|
|
- boolean repeated = false;
|
|
|
- for (HolonElement e : ((HolonObject) tempCps).getElements()) {
|
|
|
- if (elementName.getText().equals(e.getEleName())) {
|
|
|
- repeated = true;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- if (elementName.getText().length() != 0 && !repeated) {
|
|
|
- try {
|
|
|
- float energy = Float.parseFloat(providedEnergy.getText());
|
|
|
- int elementAmount = Integer.parseInt(amount.getText());
|
|
|
- hl = new HolonElement(elementName.getText(), elementAmount, energy);
|
|
|
-
|
|
|
- dispose();
|
|
|
- } catch (NumberFormatException e) {
|
|
|
- JOptionPane.showMessageDialog(new JFrame(), Languages.getLanguage()[68]);
|
|
|
- }
|
|
|
- } else {
|
|
|
- // JOptionPane.showMessageDialog(new JFrame(),
|
|
|
- // "Please enter a Name");
|
|
|
-
|
|
|
- if (elementName.getText().length() == 0) {
|
|
|
- JLabel errorString = new JLabel(Languages.getLanguage()[69]);
|
|
|
- errorString.setBounds(240, 8, 100, 20);
|
|
|
- contentPanel.add(errorString);
|
|
|
- } else if (repeated) {
|
|
|
- JLabel errorString = new JLabel(Languages.getLanguage()[70]);
|
|
|
- errorString.setBounds(250, 8, 100, 20);
|
|
|
- contentPanel.add(errorString);
|
|
|
- }
|
|
|
- elementName.setBackground(new Color(255, 50, 50));
|
|
|
- }
|
|
|
- });
|
|
|
- okButton.setActionCommand("OK");
|
|
|
- buttonPane.add(okButton);
|
|
|
- getRootPane().setDefaultButton(okButton);
|
|
|
- }
|
|
|
- {
|
|
|
- JButton cancelButton = new JButton(Languages.getLanguage()[71]);
|
|
|
- cancelButton.setActionCommand("Cancel");
|
|
|
- buttonPane.add(cancelButton);
|
|
|
- cancelButton.addActionListener(e -> dispose());
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Sets the actual Cps.
|
|
|
- *
|
|
|
- * @param cps
|
|
|
- * actual Cps
|
|
|
- */
|
|
|
- void setActualCps(AbstractCpsObject cps) {
|
|
|
- this.tempCps = cps;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Returns the created Element.
|
|
|
- *
|
|
|
- * @return the Element
|
|
|
- */
|
|
|
- public HolonElement getElement() {
|
|
|
- return hl;
|
|
|
- }
|
|
|
+package ui.view;
|
|
|
+
|
|
|
+import classes.AbstractCpsObject;
|
|
|
+import classes.HolonElement;
|
|
|
+import classes.HolonObject;
|
|
|
+
|
|
|
+import javax.swing.*;
|
|
|
+import javax.swing.border.EmptyBorder;
|
|
|
+import java.awt.*;
|
|
|
+import java.awt.event.KeyEvent;
|
|
|
+import java.awt.event.KeyListener;
|
|
|
+
|
|
|
+/**
|
|
|
+ * popup for adding an Holon Element to a holon Object.
|
|
|
+ *
|
|
|
+ * @author Gruppe14
|
|
|
+ */
|
|
|
+public class AddElementPopUp extends JDialog {
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Serial.
|
|
|
+ */
|
|
|
+ private static final long serialVersionUID = 1L;
|
|
|
+ private final JPanel contentPanel = new JPanel();
|
|
|
+ private JTextField elementName;
|
|
|
+ private JTextField providedEnergy;
|
|
|
+ private JTextField amount;
|
|
|
+ private HolonElement hl;
|
|
|
+ private AbstractCpsObject tempCps;
|
|
|
+
|
|
|
+// /**
|
|
|
+// * Launch the application.
|
|
|
+// *
|
|
|
+// * @param args
|
|
|
+// * standard
|
|
|
+// */
|
|
|
+// 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.
|
|
|
+ */
|
|
|
+ AddElementPopUp(JFrame parentFrame) {
|
|
|
+ super((java.awt.Frame) null, true);
|
|
|
+ this.setIconImage(Util.loadImage(this,"/Images/Dummy_House.png",30,30));
|
|
|
+ setModalityType(java.awt.Dialog.ModalityType.APPLICATION_MODAL);
|
|
|
+ setBounds(100, 100, 400, 190);
|
|
|
+ setLocationRelativeTo(parentFrame);
|
|
|
+ getContentPane().setLayout(new BorderLayout());
|
|
|
+ contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
|
|
|
+ getContentPane().add(contentPanel, BorderLayout.CENTER);
|
|
|
+ contentPanel.setLayout(null);
|
|
|
+ this.setTitle(Languages.getLanguage()[64]);
|
|
|
+
|
|
|
+ JLabel lblElementName = new JLabel(Languages.getLanguage()[65]);
|
|
|
+ lblElementName.setBounds(10, 11, 100, 14);
|
|
|
+ contentPanel.add(lblElementName);
|
|
|
+
|
|
|
+ JLabel lblProvidedEnergy = new JLabel(Languages.getLanguage()[66]);
|
|
|
+ lblProvidedEnergy.setBounds(10, 49, 120, 14);
|
|
|
+ contentPanel.add(lblProvidedEnergy);
|
|
|
+
|
|
|
+ JLabel lblAmount = new JLabel(Languages.getLanguage()[67]);
|
|
|
+ lblAmount.setBounds(10, 84, 100, 14);
|
|
|
+ contentPanel.add(lblAmount);
|
|
|
+
|
|
|
+ elementName = new JTextField();
|
|
|
+ elementName.addKeyListener(new KeyListener() {
|
|
|
+ @Override
|
|
|
+ public void keyPressed(KeyEvent arg0) {
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void keyReleased(KeyEvent e) {
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void keyTyped(KeyEvent e) {
|
|
|
+ elementName.setBackground(Color.WHITE);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ elementName.setBounds(130, 8, 110, 20);
|
|
|
+ contentPanel.add(elementName);
|
|
|
+ elementName.setColumns(10);
|
|
|
+
|
|
|
+ providedEnergy = new JTextField();
|
|
|
+ providedEnergy.setBounds(130, 46, 110, 20);
|
|
|
+ contentPanel.add(providedEnergy);
|
|
|
+ providedEnergy.setColumns(10);
|
|
|
+ providedEnergy.setText("0");
|
|
|
+
|
|
|
+ amount = new JTextField();
|
|
|
+ amount.setBounds(130, 81, 110, 20);
|
|
|
+ contentPanel.add(amount);
|
|
|
+ amount.setColumns(10);
|
|
|
+ amount.setText("1");
|
|
|
+ {
|
|
|
+ JPanel buttonPane = new JPanel();
|
|
|
+ buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
|
|
|
+ getContentPane().add(buttonPane, BorderLayout.SOUTH);
|
|
|
+ {
|
|
|
+ JButton okButton = new JButton("OK");
|
|
|
+ okButton.addActionListener(arg0 -> {
|
|
|
+ boolean repeated = false;
|
|
|
+ for (HolonElement e : ((HolonObject) tempCps).getElements()) {
|
|
|
+ if (elementName.getText().equals(e.getEleName())) {
|
|
|
+ repeated = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (elementName.getText().length() != 0 && !repeated) {
|
|
|
+ try {
|
|
|
+ float energy = Float.parseFloat(providedEnergy.getText());
|
|
|
+ int elementAmount = Integer.parseInt(amount.getText());
|
|
|
+ hl = new HolonElement(elementName.getText(), elementAmount, energy);
|
|
|
+
|
|
|
+ dispose();
|
|
|
+ } catch (NumberFormatException e) {
|
|
|
+ JOptionPane.showMessageDialog(new JFrame(), Languages.getLanguage()[68]);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // JOptionPane.showMessageDialog(new JFrame(),
|
|
|
+ // "Please enter a Name");
|
|
|
+
|
|
|
+ if (elementName.getText().length() == 0) {
|
|
|
+ JLabel errorString = new JLabel(Languages.getLanguage()[69]);
|
|
|
+ errorString.setBounds(240, 8, 100, 20);
|
|
|
+ contentPanel.add(errorString);
|
|
|
+ } else if (repeated) {
|
|
|
+ JLabel errorString = new JLabel(Languages.getLanguage()[70]);
|
|
|
+ errorString.setBounds(250, 8, 100, 20);
|
|
|
+ contentPanel.add(errorString);
|
|
|
+ }
|
|
|
+ elementName.setBackground(new Color(255, 50, 50));
|
|
|
+ }
|
|
|
+ });
|
|
|
+ okButton.setActionCommand("OK");
|
|
|
+ buttonPane.add(okButton);
|
|
|
+ getRootPane().setDefaultButton(okButton);
|
|
|
+ }
|
|
|
+ {
|
|
|
+ JButton cancelButton = new JButton(Languages.getLanguage()[71]);
|
|
|
+ cancelButton.setActionCommand("Cancel");
|
|
|
+ buttonPane.add(cancelButton);
|
|
|
+ cancelButton.addActionListener(e -> dispose());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Sets the actual Cps.
|
|
|
+ *
|
|
|
+ * @param cps
|
|
|
+ * actual Cps
|
|
|
+ */
|
|
|
+ void setActualCps(AbstractCpsObject cps) {
|
|
|
+ this.tempCps = cps;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Returns the created Element.
|
|
|
+ *
|
|
|
+ * @return the Element
|
|
|
+ */
|
|
|
+ public HolonElement getElement() {
|
|
|
+ return hl;
|
|
|
+ }
|
|
|
}
|