import java.awt.BorderLayout; import java.awt.Checkbox; import java.awt.CheckboxGroup; import java.awt.Container; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; public class Pizzarechner implements ItemListener { // JFrame JFrame frameApplikation; // Container Container containerApplikation; // Panel JPanel panelTop; JPanel panelMiddle; // Checkboxgroup CheckboxGroup checkboxgroupRadio; // Checkboxen Radio Checkbox checkboxKlein; Checkbox checkboxMittel; Checkbox checkboxGross; // Checkboxen Check Checkbox checkboxSalami; Checkbox checkboxSchinken; Checkbox checkboxPilze; Checkbox checkboxThunfisch; Checkbox checkboxScampi; Checkbox checkboxAnanas; // Label JLabel labelErgebnis; // Grafik JLabel image; public Pizzarechner() { // JFrame frameApplikation = new JFrame(); frameApplikation.setTitle("Pizzarechner Version 1.0"); // Container containerApplikation = frameApplikation.getContentPane(); // Panel panelTop = new JPanel(); panelMiddle = new JPanel(); // Checkboxgroup Radio checkboxgroupRadio = new CheckboxGroup(); // Checkboxen Radio checkboxKlein = new Checkbox("klein", checkboxgroupRadio, false); checkboxKlein.addItemListener(this); checkboxMittel = new Checkbox("mittel", checkboxgroupRadio, false); checkboxMittel.addItemListener(this); checkboxGross = new Checkbox("groß", checkboxgroupRadio, false); checkboxGross.addItemListener(this); // Grafik Label image = new JLabel(new ImageIcon("pizza_eye.gif")); // Checkboxen Check checkboxSalami = new Checkbox("Salami"); checkboxSalami.addItemListener(this); checkboxSchinken = new Checkbox("Schinken"); checkboxSchinken.addItemListener(this); checkboxPilze = new Checkbox("Pilze"); checkboxPilze.addItemListener(this); checkboxThunfisch = new Checkbox("Thunfisch"); checkboxThunfisch.addItemListener(this); checkboxScampi = new Checkbox("Scampi"); checkboxScampi.addItemListener(this); checkboxAnanas = new Checkbox("Ananas"); checkboxAnanas.addItemListener(this); // Label labelErgebnis = new JLabel("Preis: - €"); Font font = new Font("Pizza", Font.BOLD , 20); labelErgebnis.setFont(font); // panel Top panelTop.setLayout(new GridLayout(1, 3)); panelTop.add(checkboxKlein); panelTop.add(checkboxMittel); panelTop.add(checkboxGross); // panel Middle panelMiddle.setLayout(new GridLayout(5, 3)); panelMiddle.add(checkboxSalami); panelMiddle.add(checkboxSchinken); panelMiddle.add(checkboxPilze); panelMiddle.add(checkboxThunfisch); panelMiddle.add(checkboxScampi); panelMiddle.add(checkboxAnanas); // container containerApplikation.add(panelTop, BorderLayout.NORTH); containerApplikation.add(image, BorderLayout.WEST); containerApplikation.add(panelMiddle, BorderLayout.CENTER); containerApplikation.add(labelErgebnis, BorderLayout.SOUTH); frameApplikation.pack(); frameApplikation.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frameApplikation.setVisible(true); } public static void main(String[] args) { new Pizzarechner(); } public void itemStateChanged(ItemEvent arg0) { // Grundpreise double grundpreis = 0; // Wieviel Beläge int belagZaehler = 0; // Preis pro Belag double belagPreis = 0; // Radio Checkbox selected = checkboxgroupRadio.getSelectedCheckbox(); if (selected != null) { if (selected.getLabel().equals("klein")) { grundpreis = 4; belagPreis = 0.5; } if (selected.getLabel().equals("mittel")) { grundpreis = 4.5; belagPreis = 0.75; } if (selected.getLabel().equals("groß")) { grundpreis = 5; belagPreis = 1; } // Checkbox if (checkboxSalami.getState() == true) { belagZaehler++; } if (checkboxSchinken.getState() == true) { belagZaehler++; } if (checkboxPilze.getState() == true) { belagZaehler++; } if (checkboxThunfisch.getState() == true) { belagZaehler++; } if (checkboxScampi.getState() == true) { belagZaehler++; } if (checkboxAnanas.getState() == true) { belagZaehler++; } // Preisberechnung belagPreis = grundpreis + (belagPreis * belagZaehler); labelErgebnis .setText("Preis: " + Double.toString(belagPreis) + " €"); } else labelErgebnis.setText("Bitte Größe angeben!"); } }