Advertisement
isendrak

InputPanel

Jun 17th, 2017
14
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.16 KB | None | 0 0
  1. package unternehmen;
  2.  
  3. import java.awt.BorderLayout;
  4. import java.awt.Color;
  5. import java.awt.Container;
  6. import java.awt.Dimension;
  7. import java.awt.FlowLayout;
  8. import java.awt.Font;
  9. import java.awt.GridBagConstraints;
  10. import java.awt.GridBagLayout;
  11. import java.awt.event.ActionEvent;
  12. import java.awt.event.ActionListener;
  13. import java.util.ListIterator;
  14.  
  15. import javax.swing.BoxLayout;
  16. import javax.swing.JButton;
  17. import javax.swing.JCheckBox;
  18. import javax.swing.JComboBox;
  19. import javax.swing.JLabel;
  20. import javax.swing.JOptionPane;
  21. import javax.swing.JPanel;
  22. import javax.swing.JTextField;
  23.  
  24. public class InputPanel extends JPanel {
  25.     private PanelManager panelManager;
  26.    
  27.     public InputPanel(PanelManager panelManager) {
  28.         this.panelManager = panelManager;
  29.         buildGUI();
  30.     }
  31.    
  32.     private Font f,f2;
  33.     private JLabel jlbName_Produkt, jlbProduktkosten, jlbVerkaufswDesProduktes, jlbNameDerMaschine, jlbKostenDerMaschine, jlbErzeugnisDerMaschinen, jlbAnzahlderBedingungen, jlbBeschreibungDesTestguthabens, jlbWertDesTestguthabens, jlbAnzahlDerTestrunden, jlbBedingung, jlbUeberschrift1, jlbUeberschrift2, jlbUeberschrift3;
  34.     private JTextField jtfNameDesProdukts, jtfKostenDesProdukts, jtfVerkaufswertDesProdukts, jtfNameDerMaschine, jtfKostenDerMaschine, jtfAnzahlDerBedingungen, jtfAnzahlDerTestrunden;
  35.     private JComboBox<String> jcbErzeugnis, jcbBedingung;
  36.     private JCheckBox jchbAbhaengigkeit;
  37.     private JButton jbNeuProdukt, jbNeuMaschine, jbFabrikZuruecksetzen, jbFabrikTestStarten;
  38.    
  39.     private void buildGUI() {
  40.         f = new Font("Arial_BLACK", Font.BOLD, 30);
  41.         f2 = new Font("ARIAL", Font.BOLD, 20);
  42.        
  43.         jlbName_Produkt = new JLabel("Name:");
  44.         jlbProduktkosten = new JLabel("Produktionskosten:");
  45.         jlbVerkaufswDesProduktes = new JLabel("Verkaufswert:");
  46.         jlbNameDerMaschine = new JLabel("Name:");
  47.         jlbKostenDerMaschine = new JLabel("Kosten:");
  48.         jlbErzeugnisDerMaschinen = new JLabel("Erzeugnis:");
  49.         jlbAnzahlderBedingungen = new JLabel("Anzahl:");
  50.         jlbBeschreibungDesTestguthabens = new JLabel("Testguthaben:");
  51.      
  52.         jlbWertDesTestguthabens = new JLabel(String.valueOf(panelManager.getTestguthaben()));
  53.         jlbAnzahlDerTestrunden = new JLabel("Anzahl der Runden:");
  54.         jlbBedingung = new JLabel("    Bedingung?");
  55.         jlbUeberschrift1 = new JLabel("<HTML><U>Produkt</U></HTML>");
  56.         jlbUeberschrift2 = new JLabel("<HTML><U>Maschine</U></HTML>");
  57.         jlbUeberschrift3 = new JLabel("<HTML><U>Fabriktests</U></HTML>");
  58.    
  59.         jtfNameDesProdukts = new JTextField(15);
  60.         jtfKostenDesProdukts = new JTextField(15);
  61.         jtfVerkaufswertDesProdukts = new JTextField(15);
  62.         jtfNameDerMaschine = new JTextField(15);
  63.         jtfKostenDerMaschine = new JTextField(15);
  64.         jtfAnzahlDerBedingungen = new JTextField(15);
  65.         jtfAnzahlDerTestrunden = new JTextField(15);
  66.    
  67.         jcbErzeugnis = new JComboBox<String>();
  68.         jcbBedingung = new JComboBox<String>();
  69.        
  70.         jchbAbhaengigkeit = new JCheckBox();
  71.        
  72.         jbNeuProdukt = new JButton("Produkt anlegen");
  73.         jbNeuMaschine = new JButton("Neue Maschine anlegen");
  74.         jbFabrikZuruecksetzen = new JButton("Fabrik zurücksetzen");
  75.         jbFabrikTestStarten = new JButton("Test starten");
  76.    
  77.         setLayout(new GridBagLayout());
  78.         GridBagConstraints c = new GridBagConstraints();
  79.         c.anchor = GridBagConstraints.FIRST_LINE_START;
  80.         c.weightx = 0.5;
  81.         c.weighty = 0.5;
  82.         c.gridx = 0;
  83.         c.gridy = 0;
  84.         add(jlbUeberschrift1,c);
  85.         jlbUeberschrift1.setFont(f);
  86.        
  87.         c.gridx = 0;
  88.         c.gridy = 1;
  89.         add(jlbName_Produkt, c);
  90.         jlbName_Produkt.setFont(f2);
  91.        
  92.         c.gridx = 0;
  93.         c.gridy = 2;
  94.         add(jlbProduktkosten, c);
  95.         jlbProduktkosten.setFont(f2);
  96.        
  97.         c.gridx = 0;
  98.         c.gridy = 3;
  99.         add(jlbVerkaufswDesProduktes, c);
  100.         jlbVerkaufswDesProduktes.setFont(f2);
  101.        
  102.         c.gridx = 0;
  103.         c.gridy = 4;
  104.         add(jlbUeberschrift2, c);
  105.         jlbUeberschrift2.setFont(f);
  106.        
  107.         c.gridx = 0;
  108.         c.gridy = 5;
  109.         add(jlbNameDerMaschine, c);
  110.         jlbNameDerMaschine.setFont(f2);
  111.        
  112.         c.gridx = 0;
  113.         c.gridy = 6;
  114.         add(jlbKostenDerMaschine, c);
  115.         jlbKostenDerMaschine.setFont(f2);
  116.        
  117.         c.gridx = 0;
  118.         c.gridy = 7;
  119.         add(jlbErzeugnisDerMaschinen, c);
  120.         jlbErzeugnisDerMaschinen.setFont(f2);
  121.        
  122.         c.gridx = 0;
  123.         c.gridy = 8;
  124.         add(jchbAbhaengigkeit, c);
  125.         jchbAbhaengigkeit.setBackground(Color.LIGHT_GRAY);
  126.         jchbAbhaengigkeit.setSize(100,100);
  127.         jchbAbhaengigkeit.setFont(f);
  128.        
  129.         c.gridx = 0;
  130.         c.gridy = 8;
  131.         add(jlbBedingung, c);
  132.         jlbBedingung.setFont(f2);
  133.        
  134.         c.gridx = 0;
  135.         c.gridy = 9;                                                    //***//
  136.         add(jlbAnzahlderBedingungen, c);
  137.         jlbAnzahlderBedingungen.setFont(f2);
  138.        
  139.         c.gridx = 0;
  140.         c.gridy = 10;
  141.         add(jlbUeberschrift3, c);
  142.         jlbUeberschrift3.setFont(f);
  143.        
  144.         c.gridx = 0;
  145.         c.gridy = 11;
  146.         add(jlbBeschreibungDesTestguthabens, c);
  147.         jlbBeschreibungDesTestguthabens.setFont(f2);
  148.        
  149.         c.gridx = 0;
  150.         c.gridy = 12;
  151.         add(jlbAnzahlDerTestrunden, c);
  152.         jlbAnzahlDerTestrunden.setFont(f2);
  153.        
  154.         c.anchor = GridBagConstraints.CENTER;
  155.         c.gridx = 0;
  156.         c.gridy = 13;
  157.         add(jbFabrikZuruecksetzen, c);
  158.         jbFabrikZuruecksetzen.setFont(f2);
  159.        
  160.         // Naechste Spalte //
  161.        
  162.         c.anchor = GridBagConstraints.FIRST_LINE_END;               //HIER//
  163.         c.gridx = 1;
  164.         c.gridy = 1;
  165.         add(jtfNameDesProdukts, c);
  166.         jtfNameDesProdukts.setFont(f2);
  167.        
  168.         c.gridx = 1;
  169.         c.gridy = 2;
  170.         add(jtfKostenDesProdukts, c);
  171.         jtfKostenDesProdukts.setFont(f2);
  172.        
  173.         c.gridx = 1;
  174.         c.gridy = 3;
  175.         add(jtfVerkaufswertDesProdukts, c);
  176.         jtfVerkaufswertDesProdukts.setFont(f2);
  177.        
  178.     //  c.anchor = GridBagConstraints.CENTER;
  179.     //  c.gridx = 1;
  180.     //  c.gridy = 4;
  181.     //  add(jbNeuProdukt, c);
  182.     //  jbNeuProdukt.setFont(f2);
  183.        
  184.         c.gridx = 1;
  185.         c.gridy = 5;
  186.         add(jtfNameDerMaschine, c);
  187.         jtfNameDerMaschine.setFont(f2);
  188.        
  189.         c.gridx = 1;
  190.         c.gridy = 6;
  191.         add(jtfKostenDerMaschine, c);
  192.         jtfKostenDerMaschine.setFont(f2);
  193.        
  194.         c.gridx = 1;
  195.         c.gridy = 7;
  196.         add(jcbErzeugnis, c);
  197.         jcbErzeugnis.setFont(f2);
  198.        
  199.         c.gridx = 1;
  200.         c.gridy = 8;
  201.         add(jcbBedingung, c);
  202.         jcbBedingung.setFont(f2);
  203.        
  204.         c.gridx = 1;
  205.         c.gridy = 9;
  206.         add(jtfAnzahlDerBedingungen, c);
  207.         jtfAnzahlDerBedingungen.setFont(f2);
  208.        
  209.         c.gridx = 1;
  210.         c.gridy = 4;
  211.         add(jbNeuMaschine, c);
  212.         jbNeuMaschine.setFont(f2);
  213.        
  214.     //  c.anchor = GridBagConstraints.FIRST_LINE_END;
  215.     //  c.gridx = 1;
  216.     //  c.gridy = 11;
  217.     //  add(jlbWertDesTestguthabens, c);
  218.     //  jlbWertDesTestguthabens.setFont(f2);
  219.        
  220.         c.gridx = 1;
  221.         c.gridy = 12;
  222.         add(jtfAnzahlDerTestrunden, c);
  223.         jtfAnzahlDerTestrunden.setFont(f2);
  224.        
  225.     //  c.gridx = 1;
  226.     //  c.gridy = 13;
  227.     //  add(jbFabrikTestStarten, c);
  228.     //  jbFabrikTestStarten.setFont(f2);
  229.        
  230.         // Ausserhalb, da die nächsten Reihen sonst manipuliert werden
  231.        
  232.         c.anchor = GridBagConstraints.CENTER;
  233.         c.gridx = 1;
  234.         c.gridy = 0;
  235.         add(jbNeuProdukt, c);
  236.         jbNeuProdukt.setFont(f2);  
  237.        
  238.         c.gridx = 1;
  239.         c.gridy = 13;
  240.         add(jbFabrikTestStarten, c);
  241.         jbFabrikTestStarten.setFont(f2);
  242.        
  243.         //c.anchor = GridBagConstraints.FIRST_LINE_END;
  244.         c.gridx = 1;
  245.         c.gridy = 11;
  246.         add(jlbWertDesTestguthabens, c);
  247.         jlbWertDesTestguthabens.setFont(f2);
  248.        
  249.     //  c.gridx = 1;
  250.     //  c.gridy = 8;
  251.     //  add(jlbBedingung, c);
  252.     //  jlbBedingung.setFont(f2);
  253.         jbNeuProdukt.addActionListener(new ActionListener() {
  254.             public void actionPerformed(ActionEvent e) {
  255.                 try{
  256.                     String input_name = jtfNameDesProdukts.getText();
  257.                     double input_kosten = Double.parseDouble(jtfKostenDesProdukts.getText());
  258.                     double input_verkaufswert = Double.parseDouble(jtfVerkaufswertDesProdukts.getText());
  259.            
  260.                     Produkt neu = new Produkt(input_name, input_kosten, input_verkaufswert);
  261.                     panelManager.addOrReplaceProduktentwurf(neu);
  262.                     System.out.println(neu.getname() + "wurde erfolgreich hinzugefügt!");
  263.                 }
  264.                 catch(NumberFormatException e) {
  265.                     System.out.println("Für eine Produkterstellung wurden keine Daten eingegeben!");
  266.                 }
  267.                 catch(Exception e2) {
  268.                     System.out.println("Falsche oder keine Eingabe!");
  269.                 }
  270.             }
  271.         });
  272.     }
  273.    
  274.     public void updateData() {
  275.         jcbErzeugnis.removeAllItems();
  276.         jcbBedingung.removeAllItems();
  277.         ListIterator<Produkt> listIterator = panelManager.getProduktentwuerfe().listIterator();
  278.         while(listIterator.hasNext()) {
  279.             Produkt produkt = listIterator.next();
  280.             jcbErzeugnis.addItem(produkt.getname());
  281.             jcbBedingung.addItem(produkt.getname());
  282.         }
  283.     }
  284. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement