Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Wie gelingt es mir die nächste freie Zeile in einer Tabelle anzusprechen. Bis jetzt beschreibe ich immer direkt die Zelle durch Reihe und Spalte. Es geht hier um ein Minikassensystem in dem ich mehrere Buchungen nacheinander vollziehen möchte, um dann final abzurechnen.
Für eine Empfehlung jenseits eines jTable wäre ich auch sehr dankbar, jedoch möchte ich ja abschließend, die Einzelpreise summieren, und wäre eine Abfrage der Zellen mit jTable doch am praktikabelsten, oder?
Du solltest Logik strikt vom GUI trennen. entweder machst du in der Datenklasse eine Methode getSum() oä, welche die Summe von allen Einträgen ausgibt, oder du errechnest sie im Controller mit Hilfe der Datenklasse.
das erste problem habe ich gelöst, indem ich mich von jTable verabschiedet habe und in ein jTextField mit append hineinschreibe.
zum Zweiten: ich habe zwei Klassen, die ich benutze um eine Buchung zu erzeugen (eine für Sprit und eine für Produkte)-> kann ich die Ergebnisse bei jedem Durchlauf aufaddieren und später ausgeben (Stack?).
Also wenn ich das richtig verstehe willst du die Werte aus der jeweiligen Spalte addieren?
Dann instanzierst einfach einen entsprechenden Array mittels einer for-Schleife mit den und lässt diese dann addieren?!
public class Stack
{ private int Size; // aktuelle Groesse
private int V[]; // der eigentliche Speicher
public Stack (int capacity)
{ V=new int[capacity];
Size=0;
}
// lege ein Element auf den Stack
public void push (int value)
{ V[Size++]=value; // speichern und Size erhoehen
}
// ziehe ein Element from Stack
public int pull ()
{ Size--; // Size erniedrigen
return V[Size]; // Element nach dem letzten zurückgeben
}
// gib Anzahl der Elemente zurueck
public int size ()
{ return Size;
}
// lies oberstes Element
public int peek ()
{ return V[Size-1];
}
}
Wenn ich testweise folgenden Code an die Aktion anfüge, kommt immer 0 raus?
Code:
int gesamt;
gesamt = tank.peek();
beleg.append("\n"+gesamt);
... und wenn ich den letzteren Code an den neuen Button "Kasse" binde, der widerum den Bon ausgibt passiert gar nichts, da "tank.peek()" dort nicht bekannt ist.
Meine Frage: Wie kann ich die Werte aus dem Stack aufaddiert ausgeben. Mir ist klar dass man das sicher eleganter lösen kann, aber hauptsache es funktionier erstmal.