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:
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:
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:
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
:
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:
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:
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.
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: