Swing Taschenrechner GUI

Diskutiere Taschenrechner GUI im AWT, Swing, JavaFX & SWT Bereich.
N

NichtExpert

Hallo Liebe Community,

ich arbeite gerade an einer Taschenrechner GUI.
Im Prinzip fehlt nur noch die Programmierung der Rechenzeichen ( +, -, *, / ).
Und genau da wäre eine Hilfestellung nötig.
Im Internet wurde häufig drei Textfelder erstellt, indem 2 Stück die eingabe sind und das 3 dann das Ergebnis der beiden vorherigen ausspuckt.
Ich möchte das Ganze gerne mit Buttons versehen und nur 1 Textfeld, welches das Ergebnis und die Zwischeneingaben ausgibt.

Java:
JButton plus = new JButton("+");
        plus.setBounds(580, 211, 105, 26);
        plus.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent actionEvent) {
                
            }
        });
Was für ein Code muss da rein?
Mir fällt da nichts ein

Bedanke mich im Voraus schon mal.
 
VPChief

VPChief

Du könntest deinen Verlauf doch auch in einem JLabel über dem TextField darstellen. Oder würde das nicht deinen Vorstellungen entsprechen?
 
N

NichtExpert

Du könntest deinen Verlauf doch auch in einem JLabel über dem TextField darstellen. Oder würde das nicht deinen Vorstellungen entsprechen?
Lieber wäre mir ein Textfeld.
Aber ob man das im Textfeld oder Label ausgibt ist doch eigentlich egal oder?
Dürfte vom Code her das gleiche sein nur eben auf einem anderen Bedienelement
 
N

NichtExpert

Nicht, wie es aussieht, sondern wie das aussehen soll:
Glaube du meinst vom Code her.

Oder meinst Du, dass Du einfach die Eingabe siehst, und wenn Du auf einen Operator bzw. "=" drückst, das Zwischenergebnis angezeigt wird?
Quasi wie ein normaler taschenrechner.
Ich versuche es mal zu beschreiben.
Du klickst einen Button an und im Textfeld wird deine eingabe angezeigt. du klickst auf einen Operator ( +, -, *, / ).
Nach dem klick auf den Operator kannst du einen zweiten Button anklicken bzw. eine Zahlenfolge (nicht nur einstellig).
Bei klick auf = soll dann das ergebnis der beiden Zahlen im Textfeld angezeigt werden.


Das ist jetzt aber nicht mehr nötig bzw. habe ich mein Problem schon gelöst bekommen durch das Video von @VPChief.
Das hat mir sehr geholfen und das Video ist wirklich sehr Lobenswert. Werde mich mal bei ihm durchklicken was er so gemacht hat um Inspiration zu bekommen, was man noch machen könnte.
 
mihe7

mihe7

Ich versuche es mal zu beschreiben.
OK, verstanden.

und das Video ist wirklich sehr Lobenswert.
Sorry, da muss ich widersprechen: in dem Video werden viele Dinge gezeigt, die man sich erst gar nicht angewöhnen sollte. Tonnenweise Wiederholungen von Code, Verwendung von null-Layout, Verletzung von Benennungskonventionen, Strukturierung von Code mit Hilfe von Kommentaren, if-else-Kaskaden für die Operationen.
 
N

NichtExpert

Sorry, da muss ich widersprechen: in dem Video werden viele Dinge gezeigt, die man sich erst gar nicht angewöhnen sollte. Tonnenweise Wiederholungen von Code, Verwendung von null-Layout, Verletzung von Benennungskonventionen, Strukturierung von Code mit Hilfe von Kommentaren, if-else-Kaskaden für die Operationen.
Wie kann man denn die if-else-kaskaden umgehen?
 
mihe7

mihe7

Zum Beispiel mit einer Map.

Nachtrag: sorry, habe gerade wenig Zeit, daher bin ich etwas kurz angebunden.

Die if-else-Kaskaden dienen der Abbildung von Operatoren auf "Funktionen". Die Abbildung wird damit aber fest kodiert. Stattdessen kann man eben auch eine Map verwenden. Im konkreten Fall wäre es auch eine Möglichkeit, das Setzen der Operation direkt über einen ActionListener an den Button zu binden, dann braucht man nicht mal mehr eine Map.
 
Zuletzt bearbeitet:
VPChief

VPChief

[
Sorry, da muss ich widersprechen: in dem Video werden viele Dinge gezeigt, die man sich erst gar nicht angewöhnen sollte. Tonnenweise Wiederholungen von Code, Verwendung von null-Layout, Verletzung von Benennungskonventionen, Strukturierung von Code mit Hilfe von Kommentaren, if-else-Kaskaden für die Operationen.
Ich verteidige mich: ich habe das Video nicht angesehen, hab nur am anfang das ergebniss gesehen und hab gedacht, daass, das Vielleicht helfen könnte
 
Thema: 

Taschenrechner GUI

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben