Java Ereignisse für Taschenrechner implementieren?

... komplette Frage anzeigen

2 Antworten

Dies geht folgendermaßen:

public void mouseClick(MouseEvent e){
   String text = ((JButton)e.getSource()).getText();
   //Sonstiges
}

Ich hoffe, ich konnte dir helfen; wenn du noch Fragen hast, kommentiere einfach.

LG Willibergi

Kommentar von Dieter987
18.05.2016, 15:13

Ich habe mal was probiert komm aber noch nicht klar damit.

Jetzt wird immer die Zahl die geklickt wird,auf das Textfeld gesetzt. Ja wie kann man das ändern das bereits Geklicktes bestehen bleibt?

ActionListener al =new ActionListener(){

public void actionPerformed(ActionEvent e){
String text = ((JButton)e.getSource()).getText();
field.setText(text);
}
};

numbers[0].addActionListener(al);
numbers[1].addActionListener(al);
numbers[2].addActionListener(al);
numbers[3].addActionListener(al);
numbers[4].addActionListener(al);
numbers[5].addActionListener(al);
numbers[6].addActionListener(al);
numbers[7].addActionListener(al);
numbers[8].addActionListener(al);
numbers[9].addActionListener(al);
C.addActionListener(al);
0
Kommentar von Willibergi
18.05.2016, 15:16

Du liest aus, was momentan im Textfeld steht und änderst den Inhalt in den momentanen Inhalt und die gewünschte Erweiterung:

...
field.setText(field.getText()+text);
...

LG Willibergi

0
Kommentar von Willibergi
18.05.2016, 15:22

Aber klar doch. :)

Gern geschehen! ;)

LG Willibergi

0
Kommentar von Willibergi
20.05.2016, 21:29

Die eingegebenen Zahlen müssen systematisch gespeichert werden.
Rechenzeichen sollten der Einfachheit halber nicht in der Ausgabe erscheinen.

Zu der Sachen mit mehreren Dezimalkommas:

Bei einem Klick auf das Komma wird geprüft, ob in dem aktuellen Operanden bereits ein Komma existiert. Wenn ja, passiert nichts. Wenn nicht, wird ein Komma gesetzt.

LG Willibergi

0

schau dir erst einmal an, wie man ganz grundlegend Buttons verwendet und implementieren muss.  Der Button braucht einen ClickListener, welcher eine Methode aufruft.  In diese kannst du dann schreiben, was passieren soll, wenn dieser Button gedrückt wird. 

z.B.

Das muss in den Konstruktor, bzw in die Methode, die den Button initialisiert:

jButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jButton_ActionPerformed(evt);
}
});


Das ist die Methode die aufgerufen wird

public void jButton_ActionPerformed(ActionEvent evt){

jTextField.setText(jTextField.getText()+"hinzuzufügender Text/Zahl");

}

Was möchtest Du wissen?