Hallöchen erstmal, ich bin neu hier (Java-Newbie) und hab auch direkt ne kleine Frage.
Bei einem Kleinen Rechner den ich grade erstelle, tippt der User seine Eingaben in JFormattedTextField ein. Damit ich das Ergebnis immer live anzeigen kann habe ich diese Inputfelder mit Documentlistenern versehen ... Das Problem, das ich habe ist, dass ich es nicht schaffe allen Feldern insgesamt nur einen Listener zuzuordnen(sollte doch gehen oder?).
Ergo habe ich aktuell für alle 20 Inputfelder je einen Listener, wie im Bsp.-Code zu sehen
Sprich ich habe pro Inputfeld ~20 Zeilen Code, was die Klasse bei 20 Felden wahnsinnig aufbläht.
Ich hoffe ihr könnt mir helfen und danke schonmal
Bei einem Kleinen Rechner den ich grade erstelle, tippt der User seine Eingaben in JFormattedTextField ein. Damit ich das Ergebnis immer live anzeigen kann habe ich diese Inputfelder mit Documentlistenern versehen ... Das Problem, das ich habe ist, dass ich es nicht schaffe allen Feldern insgesamt nur einen Listener zuzuordnen(sollte doch gehen oder?).
Ergo habe ich aktuell für alle 20 Inputfelder je einen Listener, wie im Bsp.-Code zu sehen
Java:
public final JFormattedTextField InputEins = new JFormattedTextField();
public final JFormattedTextField InputZwei = new JFormattedTextField();
public final JFormattedTextField InputDrei = new JFormattedTextField();
........................................
public void ...
InputEins.getDocument().addDocumentListener(new DocumentListener() {
public void changedUpdate(DocumentEvent arg0) {
Eins();
}
public void insertUpdate(DocumentEvent arg0) {
Eins();
}
public void removeUpdate(DocumentEvent arg0) {
Eins();
}
public void Eins() {
try {
long a = Long.parseLong(InputEins.getText());
int b = Integer.parseInt(InputDrei.getText());
new Rechnung(a, b, "Eins");
OutputEins.setText(Long.toString(rechnungen.WertEins));
OutputZwei.setText(Long.toString(rechnungen.WertZwei));
OutputDrei.setText(Long.toString(rechnungen.WertDrei));
} catch (Exception e) {
}
}
});
InputZwei.getDocument().addDocumentListener(new DocumentListener() {
public void changedUpdate(DocumentEvent arg0) {
Zwei();
}
public void insertUpdate(DocumentEvent arg0) {
Zwei();
}
public void removeUpdate(DocumentEvent arg0) {
Zwei();
}
public void Zwei() {
try {
long a = Long.parseLong(InputZwei.getText());
int b = Integer.parseInt(InputDrei.getText());
new Rechnung(a, b, "Zwei");
OutputEins.setText(Long.toString(rechnungen.WertEins));
OutputZwei.setText(Long.toString(rechnungen.WertZwei));
OutputDrei.setText(Long.toString(rechnungen.WertDrei));
} catch (Exception e) {
}
}
});
...etc...usw...
Sprich ich habe pro Inputfeld ~20 Zeilen Code, was die Klasse bei 20 Felden wahnsinnig aufbläht.
Ich hoffe ihr könnt mir helfen und danke schonmal