Codename One: Notenrechner: Unterschied zwischen den Versionen

Aus Mediawiki der Ludwig-Geißler-Schule
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
K (Holger.sebastiao verschob die Seite CodeName One: Notenrechner nach Codename One: Notenrechner: Falsch geschriebener Name)
 
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
== FOS Noten Berechnung App: Schritt-für-Schritt Anleitung ==
== FOS Noten Berechnung App: Schritt-für-Schritt Anleitung ==
Überblick
Überblick
Die "FOS Noten Berechnung" App ist eine mobile Anwendung, die mit dem [Codename One] Framework entwickelt wurde. Sie ermöglicht es den Benutzern, ihre Durchschnittsnoten in verschiedenen Fächern zu berechnen und zu bestimmen, ob sie bestanden haben oder nicht. Die App ist benutzerfreundlich gestaltet und bietet eine einfache Oberfläche zur Eingabe von Noten und zur Berechnung des Notendurchschnitts.
Die "FOS Noten Berechnung" App ist eine mobile Anwendung, die mit dem [[Codename One]] Framework entwickelt wurde. Sie ermöglicht es den Benutzern, ihre Durchschnittsnoten in verschiedenen Fächern zu berechnen und zu bestimmen, ob sie bestanden haben oder nicht. Die App ist benutzerfreundlich gestaltet und bietet eine einfache Oberfläche zur Eingabe von Noten und zur Berechnung des Notendurchschnitts.


== Aufbau der App ==
== Aufbau der App ==
Zeile 166: Zeile 166:
== Stil und Design ==
== Stil und Design ==
Die App verwendet Codename One spezifische Stilelemente zur Anpassung des Erscheinungsbildes der Benutzeroberfläche. Die Hintergründe, Textfarben, Rahmen und Abstände sind so gestaltet, dass sie eine ansprechende und benutzerfreundliche Oberfläche bieten.
Die App verwendet Codename One spezifische Stilelemente zur Anpassung des Erscheinungsbildes der Benutzeroberfläche. Die Hintergründe, Textfarben, Rahmen und Abstände sind so gestaltet, dass sie eine ansprechende und benutzerfreundliche Oberfläche bieten.
[[Kategorie:Codename One]]

Aktuelle Version vom 13. Juni 2024, 18:21 Uhr

FOS Noten Berechnung App: Schritt-für-Schritt Anleitung[Bearbeiten]

Überblick Die "FOS Noten Berechnung" App ist eine mobile Anwendung, die mit dem Codename One Framework entwickelt wurde. Sie ermöglicht es den Benutzern, ihre Durchschnittsnoten in verschiedenen Fächern zu berechnen und zu bestimmen, ob sie bestanden haben oder nicht. Die App ist benutzerfreundlich gestaltet und bietet eine einfache Oberfläche zur Eingabe von Noten und zur Berechnung des Notendurchschnitts.

Aufbau der App[Bearbeiten]

Die App besteht aus mehreren Klassen, die jeweils eine spezifische Funktionalität bereitstellen:

Main: Der Einstiegspunkt der Anwendung. Note: Die Hauptklasse, die die Lebenszyklus-Methoden der App verwaltet. NoteForm: Die Klasse, die die Benutzeroberfläche der App definiert. GradeCalculator: Eine Hilfsklasse zur Berechnung der Durchschnittsnoten.

Klassenerklärungen[Bearbeiten]

Main.java

package com.asnan.note;

public class Main {

   public static void main(String[] args) {
       new Note().runApp();
   }

Die Main Klasse enthält die main Methode, die den Einstiegspunkt der Anwendung darstellt. Sie erstellt eine Instanz der Note Klasse und ruft deren runApp Methode auf, um die App zu starten.

Note.java

package com.asnan.note;

import com.codename1.system.Lifecycle; import com.codename1.ui.Form;

public class Note extends Lifecycle {

   @Override
   public void runApp() {
       Form mainForm = new NoteForm().getForm();
       mainForm.show();
   }

Die Note Klasse erweitert die Lifecycle Klasse von Codename One und überschreibt die runApp Methode, um die Hauptform (NoteForm) der App anzuzeigen. Dies ist die zentrale Klasse, die die App initialisiert und die Benutzeroberfläche anzeigt.

NoteForm.java

package com.asnan.note;

import com.codename1.ui.*; import com.codename1.ui.layouts.BoxLayout; import com.codename1.ui.plaf.RoundRectBorder;

class NoteForm {

   private Form form;
   private TextField mathe, deutsch, englisch, schwerpunktfach;
   private TextField physik, biologie, reli, powi, sport;
   private Label ergebnisLabel;
   private Button berechnen;
   public NoteForm() {
       form = new Form("FOS Noten Berechnung", new BoxLayout(BoxLayout.Y_AXIS));
       form.getAllStyles().setBgColor(0xE0F7FA); // Hellblauer Hintergrund
       form.getAllStyles().setBgTransparency(255);
       initializeFields();
       initializeButton();
       initializeLabel();
       form.addAll(mathe, deutsch, englisch, schwerpunktfach, physik, biologie, reli, powi, sport, berechnen, ergebnisLabel);
   }
   public Form getForm() {
       return form;
   }
   private void initializeFields() {
       mathe = createTextField("Mathe (Hauptfach)");
       deutsch = createTextField("Deutsch (Hauptfach)");
       englisch = createTextField("Englisch (Hauptfach)");
       schwerpunktfach = createTextField("Schwerpunktfach (Hauptfach)");
       physik = createTextField("Physik (Nebenfach)");
       biologie = createTextField("Biologie (Nebenfach)");
       reli = createTextField("Reli (Nebenfach)");
       powi = createTextField("PoWi (Nebenfach)");
       sport = createTextField("Sport (Nebenfach)");
   }
   private void initializeButton() {
       berechnen = new Button("Durchschnitt berechnen");
       berechnen.getAllStyles().setFgColor(0x000000);
       berechnen.addActionListener(e -> {
           if (mathe.getText().isEmpty() || deutsch.getText().isEmpty() || englisch.getText().isEmpty() || schwerpunktfach.getText().isEmpty()) {
               ergebnisLabel.setText("Bitte alle Hauptfächer eintragen!");
               ergebnisLabel.getAllStyles().setFgColor(0xFF0000); // Rot für Fehlermeldung
           } else {
               double durchschnitt = GradeCalculator.calculateAverage(
                       mathe.getText(), deutsch.getText(), englisch.getText(), schwerpunktfach.getText(),
                       physik.getText(), biologie.getText(), reli.getText(), powi.getText(), sport.getText());
               String bestanden = durchschnitt >= 5.0 ? "Bestanden" : "Nicht bestanden";
               ergebnisLabel.setText("Durchschnitt: " + GradeCalculator.roundToTwoDecimals(durchschnitt) + " - " + bestanden);
               styleLabelForResult(bestanden);
           }
           form.revalidate(); // Aktualisiere die Form, um die Änderungen sofort anzuzeigen
       });
   }
   private void initializeLabel() {
       ergebnisLabel = new Label("");
       ergebnisLabel.getAllStyles().setFgColor(0x000000);
   }
   private TextField createTextField(String hint) {
       TextField tf = new TextField("", hint, 20, TextField.NUMERIC);
       tf.getAllStyles().setBgColor(0xFFFFFF);
       tf.getAllStyles().setFgColor(0x000000);
       tf.getAllStyles().setBorder(RoundRectBorder.create().cornerRadius(5).shadowColor(0x00796B));
       tf.getAllStyles().setPadding(10, 10, 10, 10);
       tf.getAllStyles().setMargin(5, 5, 5, 5);
       return tf;
   }
   private void styleLabelForResult(String result) {
       ergebnisLabel.getAllStyles().setFgColor("Bestanden".equals(result) ? 0x388E3C : 0xD32F2F); // Grün für Bestanden, Rot für Nicht bestanden
   }

Die NoteForm Klasse erstellt das Formular für die Noteneingabe und Berechnung. Es enthält Textfelder für die verschiedenen Fächer, einen Button zur Berechnung und ein Label zur Anzeige des Ergebnisses. Die Benutzeroberfläche ist einfach und intuitiv gestaltet, um die Eingabe der Noten und die Anzeige der Ergebnisse zu erleichtern.

GradeCalculator.java

package com.asnan.note;

class GradeCalculator {

   public static double calculateAverage(String... grades) {
       double sum = 0;
       int count = 0;
       for (String grade : grades) {
           if (!grade.isEmpty()) {
               sum += Double.parseDouble(grade);
               count++;
           }
       }
       return count > 0 ? sum / count : 0;
   }
   public static String roundToTwoDecimals(double value) {
       return String.valueOf(Math.round(value * 100.0) / 100.0);
   }

Die GradeCalculator Klasse enthält Methoden zur Berechnung des Durchschnitts und zur Rundung auf zwei Dezimalstellen. Sie verarbeitet die eingegebenen Noten und berechnet den Durchschnitt, der dann in der Benutzeroberfläche angezeigt wird.

Nutzung der App[Bearbeiten]

Schritt 1: Starten der App Die Main Klasse startet die App und zeigt das Hauptformular (NoteForm) an. Beim Starten der App wird die runApp Methode der Note Klasse aufgerufen, die das Hauptformular erstellt und anzeigt.

Schritt 2: Eingabe der Noten Geben Sie Ihre Noten in die entsprechenden Textfelder ein. Die App enthält Textfelder für Hauptfächer (Mathe, Deutsch, Englisch, Schwerpunktfach) und Nebenfächer (Physik, Biologie, Reli, PoWi, Sport). Jedes Textfeld ist mit einem Hinweis versehen, der angibt, welches Fach eingetragen werden soll.

Schritt 3: Berechnen des Durchschnitts Klicken Sie auf den Button "Durchschnitt berechnen". Die App überprüft zunächst, ob alle Hauptfächer ausgefüllt sind. Wenn nicht, wird eine Fehlermeldung angezeigt. Wenn alle Hauptfächer ausgefüllt sind, berechnet die App den Durchschnitt aller eingegebenen Noten und zeigt das Ergebnis an. Das Ergebnis wird in einem Label angezeigt, das den Durchschnitt und die Information "Bestanden" oder "Nicht bestanden" enthält.

Stil und Design[Bearbeiten]

Die App verwendet Codename One spezifische Stilelemente zur Anpassung des Erscheinungsbildes der Benutzeroberfläche. Die Hintergründe, Textfarben, Rahmen und Abstände sind so gestaltet, dass sie eine ansprechende und benutzerfreundliche Oberfläche bieten.