Hi!
Ich hab eine GUI, darin wird ein Unterfenster geöffnet. Dieses Unterfenster soll dazu da sein, sich anzumelden. Also zum Beispiel den Namen in das JTextField jtName eintragen.
Die Klasse Runde implements ActionListener und in ActionPerformed würde ich gerne die Felder aus dem AnmeldeFenster auslesen.
new Runde() ist wohl nicht optimal bei ActionListener Wenn ich in Runde eine Instanz von Anmeldung erstelle, dann kommt natürlich Stack Overflow
Was ich aber sehr cool fand, war, dass ich nicht das explizite Objekt von Runde sondern nur die Klasse ansprechen brauchte. Mit nem JSlider und dem StateChangedListener ging das super event.getSource().getValue() und man hatte direkten Zugriff auf die Daten des Sliders, auch in dem expliziten Objekt (also der Hauptklasse) - trotz addActionListener(new Runde()).
Bei dem Button ist das natürlich eine andere Geschichte, denn der Button selber hat keine Informationen, er sagt nur, dass die Daten abgeschickt werden sollen und klassenintern kann man die Daten ja auch leicht verarbeiten. Aber wie schaffe ich es jetzt die drei Textfelder auszulesen, obwohl ich nur auf den Button drücke?
Ich weiß, dass es bei Buttons mit einem ActionListener die Funktion doClick() gibt, was einfach so tut als wäre der Button geschickt worden. Wenn ich dem Textfeld also einen ActionListener mitgeben würde und den dann sein Event feuern lassen könnte, dann hätte ich die Daten ja in meiner Runde.
Geht das? Muss das noch ganz anders gemacht werden?
Wäre für jede Idee dankbar, denn es ist SEHR dringend!
Ich hab eine GUI, darin wird ein Unterfenster geöffnet. Dieses Unterfenster soll dazu da sein, sich anzumelden. Also zum Beispiel den Namen in das JTextField jtName eintragen.
Die Klasse Runde implements ActionListener und in ActionPerformed würde ich gerne die Felder aus dem AnmeldeFenster auslesen.
Java:
jtName = new JTextField();
jtName.addActionListener(this);
jtName.addActionListener(new Runde());
button = new JButton("Anmelden");
button.setName("Anmelden");
button.addActionListener(this);
button.addActionListener(new Runde());
new Runde() ist wohl nicht optimal bei ActionListener Wenn ich in Runde eine Instanz von Anmeldung erstelle, dann kommt natürlich Stack Overflow
Was ich aber sehr cool fand, war, dass ich nicht das explizite Objekt von Runde sondern nur die Klasse ansprechen brauchte. Mit nem JSlider und dem StateChangedListener ging das super event.getSource().getValue() und man hatte direkten Zugriff auf die Daten des Sliders, auch in dem expliziten Objekt (also der Hauptklasse) - trotz addActionListener(new Runde()).
Bei dem Button ist das natürlich eine andere Geschichte, denn der Button selber hat keine Informationen, er sagt nur, dass die Daten abgeschickt werden sollen und klassenintern kann man die Daten ja auch leicht verarbeiten. Aber wie schaffe ich es jetzt die drei Textfelder auszulesen, obwohl ich nur auf den Button drücke?
Ich weiß, dass es bei Buttons mit einem ActionListener die Funktion doClick() gibt, was einfach so tut als wäre der Button geschickt worden. Wenn ich dem Textfeld also einen ActionListener mitgeben würde und den dann sein Event feuern lassen könnte, dann hätte ich die Daten ja in meiner Runde.
Geht das? Muss das noch ganz anders gemacht werden?
Wäre für jede Idee dankbar, denn es ist SEHR dringend!