Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo,
ich hab vor ein paar Wochen von der Schule aus mit Java-Programmieren angefangen und jetzt haben wir so eine Hausaufgabe, wo wir einen Taschenrechner eigenstädig programmieren müssen. Ich hatte die Idee ein Ziffernpad zu gestalten und wüsste gerne wie ich eine Zahl in einem Textfeld hinzufügen kann. Bisher hab ichs immer nur geschafft alles mit setText zu überschreiben.
Jetzt hab ich ein neues Problem:
Ich habe 3 Felder: 1 Operator1 und 1 Operator2 und 1 Ergebnis-Feld.
Wenn ich Zahlen anklicke, werden diese nur im Operator1 geschrieben.
Wie mache ich es, dass die Zahlen (wenn der Cursor drinsteht) im Operator2 geschrieben werden?
Oh, und wi mache ich es, dass per Button der Cursor nach Operator2 springt?
Danke im voraus!
Jetzt hab ich ein neues Problem:
Ich habe 3 Felder: 1 Operator1 und 1 Operator2 und 1 Ergebnis-Feld.
Wenn ich Zahlen anklicke, werden diese nur im Operator1 geschrieben.
Wie mache ich es, dass die Zahlen (wenn der Cursor drinsteht) im Operator2 geschrieben werden?
Oh, und wi mache ich es, dass per Button der Cursor nach Operator2 springt?
Danke im voraus!
Zahlen sind in ner Rechnung die Operanden und Rechenzeichen die Operatoren (nur so nebenebei).
Ansonsten wirst du uns wohl deinen Code zeigen müssen, weils sonst schwer nachzuvollziehen ist... Den Cursor in ein anderes textfeld springen zu lassen, müsste über textfeld.requestFocus() gehen (keine Garantie)...
Du wirst auf irgendeine Weise prüfen müssen, ob die zahlen in ein anderes TextFeld geschrieben werden soll und dann halt in ein anderes reinschreiben, etwas so:
if(text1) {
jTextField1.setText(jTextField1.getText() + 1);
} if(text2) {
jTextField2.setText(jTextField2.getText() + 1);
}
Und in text1, text2 musst du dann halt speichern, welches Feld grad dran ist...
Allerdings find ichs etwas gemein von eurem Lehrer, im Prinziep blutigen, Anfängern eine solche Aufgabe zu stellen. Sag ihm mal er solls selbst mal probieren...
NetBeans mag das nicht, weil ein JTextField kein boolean ist :wink:
Ich hab ganz bewusst text1 und nicht jTextField1 dahingeschrieben.
Aber bevor ich dir hier komplett was unpassendes erzähle, müsste ich etwas mehr über deinen Rechner wissen.. Das hört sich für mich so an, dass du mehrere Textfelder hast, in die du den Cursor platzieren können möchtest und in die die eingegebenen Zaheln gespeichert werden. Das ist ein recht ungewöhnlicher Rechner...
und man hat einen haufen Tasten mit den Zahlen drauf?
Dann würde ich dir das ungefähr so empfehlen:
Du legst die Zahlen-Buttons an und gibst allen nur einen einziegen ActionListener, der ungefähr so aussehen könnte:
Code:
public void actionPerformed(ActionEvent ev) {
//Liefert den CommandString zurück (meist gleich der Beschriftung der Komponente, die das Event ausgelöst hat)
String label = ev.getActionCommand();
if(text1) {
jTextField1.setText(jTextField1.getText() + label);
} else if(text2) {
jTextField2.setText(jTextField2.getText() + label);
}
}
In text1 und text2 musst du dann speichern, welches Feld gerade befüllt werden soll (das kannst du ja ändern, wenn auf einen Operator geklickt wurde oder auf die Clear-Taste (falls es sowas bei dir gibt (wahrscheinlich)