E-Phase Java

Der GUI SMSRechner

Noch nicht geprüft

Die Aufgabe der heutigen Stunde ist der GUI SMSRechner!

Aber Vorsicht, diese Aufgabe ist anders als alle bisherigen! Statt das wir einen Code programmieren, welcher in der Konsole angezeigt wird, programmieren wir jetzt unsere eigene "Konsole". Wenn du dir die GUI Einführung noch nicht angesehen hast, empfehle ich dir sie durchzulesen, damit du ein groben Überblick über die verschiedenen Unterschiede zwischen GUI und Konsole erhälst. Diese sind sehr wichtig für die Bearbeitung der Aufgabe!

Die Aufgabenstellung lautet

Lösungsprozess der Aufgabe

Java
/* meininfokurs.cmrg.site */
    /**
    *
    * Das fertige Programm des GUI SMS Rechners
    *
    * @version 1.0 vom 11.07.2025
    * @meininfokurs.cmrg.site
    */

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;

    public class SMSRechner extends JFrame {
        // Anfang Attribute
        private JLabel lSMSRechner = new JLabel();
        private JNumberField nfAnzahl = new JNumberField();
        private JNumberField nfKosten = new JNumberField();
        private JButton bBerechnen = new JButton();
        private JLabel lAnzahl = new JLabel();
        private JLabel lKosten = new JLabel();
        private JLabel lCent = new JLabel();
        // Ende Attribute

        public SMSRechner() {
            // Frame-Initialisierung
            super();
            setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
            int frameWidth = 295;
            int frameHeight = 298;
            setSize(frameWidth, frameHeight);
            Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
            int x = (d.width - getSize().width) / 2;
            int y = (d.height - getSize().height) / 2;
            setLocation(x, y);
            setTitle("SMSRechner");
            setResizable(false);
            Container cp = getContentPane();
            cp.setLayout(null);

            // Anfang Komponenten
            lSMSRechner.setBounds(77, 36, 110, 20);
            lSMSRechner.setText("SMS-Rechner");
            lSMSRechner.setFont(new Font("Arial", Font.BOLD, 12));
            cp.add(lSMSRechner);

            nfAnzahl.setBounds(97, 88, 75, 20);
            nfAnzahl.setText("");
            cp.add(nfAnzahl);

            nfKosten.setBounds(95, 137, 75, 20);
            nfKosten.setText("");
            cp.add(nfKosten);

            bBerechnen.setBounds(94, 184, 75, 25);
            bBerechnen.setText("Berechnen");
            bBerechnen.setMargin(new Insets(2, 2, 2, 2));

            bBerechnen.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent evt) {
                    bBerechnen_ActionPerformed(evt);
                }
            });
            cp.add(bBerechnen);

            lAnzahl.setBounds(25, 90, 54, 20);
            lAnzahl.setText("Anzahl");
            cp.add(lAnzahl);

            lKosten.setBounds(20, 138, 54, 20);
            lKosten.setText("Kosten");
            cp.add(lKosten);

            lCent.setBounds(182, 136, 62, 20);
            lCent.setText("Cent");
            cp.add(lCent);
            // Ende Komponenten

            setVisible(true);
        } // end of public SMSRechner

        // Anfang Methoden
        public static void main(String[] args) {
            new SMSRechner();
        } // end of main

        public void bBerechnen_ActionPerformed(ActionEvent evt) {
            // TODO hier Quelltext einfuegen
            int FreieSMS = 25;
            int AnzahlSMS;
            double Kosten;

            AnzahlSMS = nfAnzahl.getInt();

            if (AnzahlSMS <= FreieSMS) {
            Kosten = 0;
            } else {
            Kosten = (AnzahlSMS - FreieSMS) * 5.9;
        } // end of if-else

        nfKosten.setDouble(Kosten, 2);
    } // end of bBerechnen_ActionPerformed

  // Ende Methoden
} // end of class SMSRechner

In der Aufgabenstellung wird gefordert, dass wir folgende Funktionen in unseren Code implementieren:


Die Lösung steht oben, die Schritt-für-Schritt-Erklärung dazu fehlt hier aber noch. Die schreibe ich nach.

Aufgabe suchen

Tippe los. Strg+K öffnet die Suche von überall.

Zuletzt angesehen

Werbung