GUI + Objektorientierte Porgrammierung

Berlin_er

Mitglied
Hallo zusammen!

Ich programmiere z.Zt einen Mini-Taschenrechner für Anfänger. Mit dem Start-Button landen meine "nf" Werte in eine andere Klasse "Rechenweg". In einem Konstruktor übernehme ich die Parameter-Werte in andere Variablen, um in meiner Methode rechnen zu können.
Nun möchte ich meine Summe in einem "nf"-Fenster ausgeben. Normalerweise habe ich immer in der GUI-Klasse "nf_Summe.setDouble(Ergebnis);" o.ä benutzt. Leider funktioniert dieser Befehl in der "Rechenweg"-Klasse Methode nicht bzw. es compiliert nicht.

Als Alternative habe ich in meine GUI-Klasse unter but_Start folgendes stehen: "nf_Summe.setDouble(meinRechenweg.summe);"

Es funktioniert auch, doch ich wollte fragen, ob es möglich ist, mit irgendeinem Befehl die Ausgabe in meine Methode zu packen, sodass ich in meiner GUI Klasse nur noch die Methode aufrufen muss und mehr nicht. Ich möchte einfach die Rechnungen und Ausgaben etc. in Methoden packen, sodass meine GUI Klasse übersichtlicher wird.

Ich bedanke mich im voraus!

GUI-Klasse:
Java:
public void but_Start_ActionPerformed(ActionEvent evt) {
    Rechenweg meinRechenweg = new Rechenweg(nf_ErsteZahl, nf_ZweiteZahl);
   
    meinRechenweg.addition();
    nf_Summe.setDouble(meinRechenweg.summe);
  } // end of but_Start_ActionPerformed

Rechenweg-Klasse:
Java:
public class Rechenweg {
 
  // Anfang Attribute
  public double ersteZahl;
  public double zweiteZahl;
  public double summe;
  // Ende Attribute
 
  public Rechenweg(JNumberField pnf_ErsteZahl, JNumberField pnf_ZweiteZahl){
    ersteZahl = pnf_ErsteZahl.getDouble();
    zweiteZahl = pnf_ZweiteZahl.getDouble();
  }
 
  // Anfang Methoden
  public void addition(){
    summe = ersteZahl + zweiteZahl;
  }
  // Ende Methoden 
} // end of Rechenweg
 

Robat

Top Contributor
- Was ist ein "nf-"-Fenster?
- Was heißt es funktioniert / compiliert nicht? Fehler?
- Code würde das ganze sicherlich vereinfachen
 

Robat

Top Contributor
Ich würde die GUI mehr von der Logik trennen und nicht die Numberfields übergeben, sondern nur die Werte. Dem Rechenweg kann ja egal sein, ob die Zahlen nun aus einem Numberfield, Label, Textdatei oder sonst was kommen.
Außerdem würde ich die add-Methode das Ergebnis direkt zurückgeben lassen. Dann könntest du in der Action des Buttons direkt auch das Ergebnis aktualisieren.
Ggf macht es auch mehr Sinn der add-Methode die beiden Zahlen als Parameter zu übergeben, anstatt jedes mal ein neues Rechenweg-Objekt für neue Zahlen erstellen zu müssen.
 

Neue Themen


Oben