Hallo,
hätte zwei Fragen, und hoffe ihr könnt mir helfen.
Ich habe einen Taschenrechner programmiert, aber er reagiert nur auf einen Mausklick, kann ich irgendwas eingeben damit er auf die Tastatur auch "hört"?
Und ich habe verschiedene Buttons, die aber alle den gleichen Code haben, kann ich das zusammenfassen um Platz usw.. zu sparen.
Hier mal der Code:
[HIGHLIGHT="Java"]private void buttonPlusActionPerformed(java.awt.event.ActionEvent evt) {
pruefung = false;
if (operator == 0) {
operands.add(Double.parseDouble(jTextPane1.getText()));
}
else {
/*
* Ich hole mir den Text vom Textfeld
* Der Text wird in ein Double umgewandelt
* Von der ArrayList wird die Zahl, die an oberster Stelle steht, dazugezählt.
*
* */
if (operator == '+') {
operands.add(operands.remove(operands.size()-1) + Double.parseDouble(jTextPane1.getText()));
}
if (operator == '-') {
operands.add(operands.remove(operands.size()-1) - Double.parseDouble(jTextPane1.getText()));
}
if (operator == '*') {
operands.add(operands.remove(operands.size()-1) * Double.parseDouble(jTextPane1.getText()));
}
if (operator == '/') {
operands.add(operands.remove(operands.size()-1) / Double.parseDouble(jTextPane1.getText()));
}
jTextPane1.setText("" + operands.get(operands.size()-1));
}
operator = '+';
}
private void buttonMinusActionPerformed(java.awt.event.ActionEvent evt) {
pruefung = false;
if (operator == 0) {
operands.add(Double.parseDouble(jTextPane1.getText()));
}
else {
if (operator == '+') {
operands.add(operands.remove(operands.size()-1) + Double.parseDouble(jTextPane1.getText()));
}
if (operator == '-') {
operands.add(operands.remove(operands.size()-1) - Double.parseDouble(jTextPane1.getText()));
}
if (operator == '*') {
operands.add(operands.remove(operands.size()-1) * Double.parseDouble(jTextPane1.getText()));
}
if (operator == '/') {
operands.add(operands.remove(operands.size()-1) / Double.parseDouble(jTextPane1.getText()));
}
jTextPane1.setText("" + operands.get(operands.size()-1));
}
operator = '-';
}
private void buttonMultiplikationActionPerformed(java.awt.event.ActionEvent evt) {
pruefung = false;
if (operator == 0) {
operands.add(Double.parseDouble(jTextPane1.getText()));
}
else {
if (operator == '+') {
operands.add(operands.remove(operands.size()-1) + Double.parseDouble(jTextPane1.getText()));
}
if (operator == '-') {
operands.add(operands.remove(operands.size()-1) - Double.parseDouble(jTextPane1.getText()));
}
if (operator == '*') {
operands.add(operands.remove(operands.size()-1) * Double.parseDouble(jTextPane1.getText()));
}
if (operator == '/') {
operands.add(operands.remove(operands.size()-1) / Double.parseDouble(jTextPane1.getText()));
}
jTextPane1.setText("" + operands.get(operands.size()-1));
}
operator = '*';
}[/HIGHLIGHT]
Danke im Vorraus,
liebe grüße
hätte zwei Fragen, und hoffe ihr könnt mir helfen.
Ich habe einen Taschenrechner programmiert, aber er reagiert nur auf einen Mausklick, kann ich irgendwas eingeben damit er auf die Tastatur auch "hört"?
Und ich habe verschiedene Buttons, die aber alle den gleichen Code haben, kann ich das zusammenfassen um Platz usw.. zu sparen.
Hier mal der Code:
[HIGHLIGHT="Java"]private void buttonPlusActionPerformed(java.awt.event.ActionEvent evt) {
pruefung = false;
if (operator == 0) {
operands.add(Double.parseDouble(jTextPane1.getText()));
}
else {
/*
* Ich hole mir den Text vom Textfeld
* Der Text wird in ein Double umgewandelt
* Von der ArrayList wird die Zahl, die an oberster Stelle steht, dazugezählt.
*
* */
if (operator == '+') {
operands.add(operands.remove(operands.size()-1) + Double.parseDouble(jTextPane1.getText()));
}
if (operator == '-') {
operands.add(operands.remove(operands.size()-1) - Double.parseDouble(jTextPane1.getText()));
}
if (operator == '*') {
operands.add(operands.remove(operands.size()-1) * Double.parseDouble(jTextPane1.getText()));
}
if (operator == '/') {
operands.add(operands.remove(operands.size()-1) / Double.parseDouble(jTextPane1.getText()));
}
jTextPane1.setText("" + operands.get(operands.size()-1));
}
operator = '+';
}
private void buttonMinusActionPerformed(java.awt.event.ActionEvent evt) {
pruefung = false;
if (operator == 0) {
operands.add(Double.parseDouble(jTextPane1.getText()));
}
else {
if (operator == '+') {
operands.add(operands.remove(operands.size()-1) + Double.parseDouble(jTextPane1.getText()));
}
if (operator == '-') {
operands.add(operands.remove(operands.size()-1) - Double.parseDouble(jTextPane1.getText()));
}
if (operator == '*') {
operands.add(operands.remove(operands.size()-1) * Double.parseDouble(jTextPane1.getText()));
}
if (operator == '/') {
operands.add(operands.remove(operands.size()-1) / Double.parseDouble(jTextPane1.getText()));
}
jTextPane1.setText("" + operands.get(operands.size()-1));
}
operator = '-';
}
private void buttonMultiplikationActionPerformed(java.awt.event.ActionEvent evt) {
pruefung = false;
if (operator == 0) {
operands.add(Double.parseDouble(jTextPane1.getText()));
}
else {
if (operator == '+') {
operands.add(operands.remove(operands.size()-1) + Double.parseDouble(jTextPane1.getText()));
}
if (operator == '-') {
operands.add(operands.remove(operands.size()-1) - Double.parseDouble(jTextPane1.getText()));
}
if (operator == '*') {
operands.add(operands.remove(operands.size()-1) * Double.parseDouble(jTextPane1.getText()));
}
if (operator == '/') {
operands.add(operands.remove(operands.size()-1) / Double.parseDouble(jTextPane1.getText()));
}
jTextPane1.setText("" + operands.get(operands.size()-1));
}
operator = '*';
}[/HIGHLIGHT]
Danke im Vorraus,
liebe grüße
Zuletzt bearbeitet von einem Moderator: