3. Schritt: JButton

Der JButton ist in der Swing-Bibliothek in Java enthalten. Es handelt sich dabei um einen Button, der mit Text versehen werden kann.


JButton

Für deinen Taschenrechner benötigst du noch Buttons für die Zahlen, Funktionalitäten (clear und Gleichzeichen) und Operationen (Addition, Subtraktion, Multiplikation, Division). Diese legst du dir mithilfe von JButton an.

Für die numberButtons bietet es sich dabei an, ein Array der Größe 10 zu verwenden, da dort die Zahlen von null bis neun Platz finden:

Hier versteckt sich noch mehr!
Besuche die App, um alle Inhalte zu sehen!

Anschließend werden die Buttons für die Zahlen in dem Konstruktor der Klasse mithilfe einer for-Schleife initialisiert:

Hier versteckt sich noch mehr!
Besuche die App, um alle Inhalte zu sehen!

Auch für die functionButtons wird ein Array angelegt. Dieses Mal mit der Größe 7. Diese Buttons werden danach einzeln deklariert:

Hier versteckt sich noch mehr!
Besuche die App, um alle Inhalte zu sehen!

Auch diese Butttons müssen jetzt noch einzeln im Konstruktor initialisiert werden. Der Aufbau ist dabei aber immer gleich. Erst kommt der Name des Buttons, dann hinter dem Gleichzeichen newJButton(); und in die Klammern das Symbol, welches am Ende auf den Buttons zu sehen sein soll. Für den addButton würde der Code also folgendermaßen aussehen: addButton = new JButton("+");. Das machst du jetzt noch für die sechs anderen functionButtons:

Hier versteckt sich noch mehr!
Besuche die App, um alle Inhalte zu sehen!

Als Nächstes fügst du die Buttons in das Array functionButtons ein. Dafür wird jedem Index im Array ein Button zugewiesen:

Hier versteckt sich noch mehr!
Besuche die App, um alle Inhalte zu sehen!

Damit auch eine Aktion ausgeführt werden kann, wenn einer diese Buttons geklickt wird, müssen noch ActionListener hinzugefügt werden.

Dafür schreibst du implements ActionListener neben den Kopf der Klasse. Dadurch signalisierst du, dass deine Klasse CaclulatorGUI die Klasse ActionListener implementiert.

Die Klasse enthält eine Methode, die überschrieben werden muss, nämlich die actionPerformed()-Methode. Nur, wenn diese Methode überschrieben wird bzw. in CalculatorGUI enthalten ist, kann ActionListener verwendet werden.

Also ergänzt du deinen Code mit folgenden Zeilen:

Hier versteckt sich noch mehr!
Besuche die App, um alle Inhalte zu sehen!

Jetzt kannst du im Konstruktor bei jedem der functionButtons und der numberButtons einen ActionListener hinzufügen. Das implementierst du am besten mit einer for-Schleife. In dieser Schleife kannst du auch direkt setFocusable() auf false setzen, dann ist der Button nicht umrahmt, sobald er einmal geklickt wurde.

Für die numberButtons verwendest du wieder eine for-Schleife, um durch das Array zu iterieren. Da hier jedoch noch keine Buttons pro Zahl erzeugt wurden, ergänzt du hier noch folgende Zeile numberButtons[i] = new JButton(String.valueOf(i));. Dadurch wird für jeden i-Wert (Zahlen von 0 bis 9) ein Button angelegt, auf dem der jeweilige i-Wert angegeben ist.

Ansonsten wird auch hier ein ActionListener pro Button hinzugefügt und setFocusable() auf false gesetzt.

Hier versteckt sich noch mehr!
Besuche die App, um alle Inhalte zu sehen!

Du kannst nun schonmal zwei deiner functionButtons (clearButton und equalsButton) zu dem frame hinzufügen. Wenn du dir noch einmal den finalen Taschenrechner anschaust, siehst du, dass sie ganz unten im frame platziert sind. Das erreichst du mit den Code-Zeilen clearButton.setBounds(40, 360, 130, 40); bzw. equalsButton.setBounds(180, 360, 130, 40);, die du unterhalb der beiden for-Schleifen im Konstruktor deiner Klasse einfügst.

Damit die Buttons in deinem frame zu sehen sind, müssen sie noch zu diesem hinzugefügt werden. Dafür schreibst du an das Ende deines Konstruktors frame.add(clearButton); bzw. frame.add(equalsButton);.

Jetzt sollte dein JFrame die beiden Buttons beinhalten:

No items found.

simpleclub ist am besten in der App.

Mit unserer App hast du immer und überall Zugriff auf: Lernvideos, Erklärungen mit interaktiven Animationen, Übungsaufgaben, Karteikarten, individuelle Lernpläne uvm.

Jetzt simpleclub Azubi holen!

Mit simpleclub Azubi bekommst du Vollzugang zur App: Wir bereiten dich in deiner Ausbildung optimal auf deine Prüfungen in der Berufsschule vor. Von Ausbilder*innen empfohlen.

Jetzt simpleclub Azubi holen