Textfeld auslesen lassen

  • Themenstarter Themenstarter HosenTasche
  • Beginndatum Beginndatum
H

HosenTasche

Gast
Hallo,
ich sitze momentan an einer sache , worauf ich keine lösung im internet finde..
ich versuche nach dem drücken eines Buttons ein Textfeld auslesen zu lassen , das wiederrum
als String in eine neue klasse ausgegeben wird.

1. Klasse = GUI + das besagt TextFeld
2. Klasse = der Actionlistener für den Button
3. Klasse = die klasse , die den wert aus dem Textfeld bekommen soll.


Der Actionlistener mit dem button funktioniert einwandfrei, nur ich weiß mir keinen rat dem Actionlistener was für eine Methode ich schreiben könnte damit der Actionlistener weiß was in dem Textfeld steht.
bzw. wie ich Wert dann wiederrum in der 3ten klasse verwenden kann.

-> Button wird gedrückt -> Textfeld soll ausgelesen werden -> In String gespeichert werden -> die dritte klasse soll wissen was im Textfeld steht

falls nötig, werd ich code schnipsel posten.. falls niemand einen rat so weiß.
 
Der Actionlistener mit dem button funktioniert einwandfrei, nur ich weiß mir keinen rat dem Actionlistener *zu sagen welchen wert das Textfeld hat*bzw. was für eine Methode ich schreiben könnte
 
1. Klasse

public class Datumseingabe
{

JFrame frame = new JFrame();
JPanel datumspanel= new JPanel();
JPanel buttonpanel = new JPanel();
JPanel mainpanel = new JPanel();
JPanel[] datumeing = new JPanel[3];
JPanel[] tageing = new JPanel[3];
JLabel labels1 = new JLabel("Tag/Monat/Jahr :");
JLabel labels2 = new JLabel("Vergangene Tage :");
JButton[] buttons = new JButton[3];
String[] buttoninhalt={"Informationen","Zurück","Weiter"};
JTextField[]datum = new JTextField[3];
JTextField taganzahl = new JTextField("",5);

ButtonListener listener = new ButtonListener();

Startbenutzerfläche ansicht1;
Datumseingabe ansicht2;
Nahrungseingabe ansicht4;
Eintragungsfläche ansicht3;
Bestaetigungsflaeche ansicht5;

listener.Einstellen(ansicht1,ansicht2,ansicht4,ansicht3,ansicht5);
buttons[0].addActionListener(listener);
buttons[0].setActionCommand("Weiter");
buttons[1].addActionListener(listener);
buttons[2].addActionListener(listener);


2.Klasse


public class ButtonListener implements ActionListener
{

Startbenutzerfläche ansicht1;
Datumseingabe ansicht2;
Nahrungseingabe ansicht4;
Eintragungsfläche ansicht3;
Bestaetigungsflaeche ansicht5;

public void actionPerformed (ActionEvent ae){
if (ae.getActionCommand().equals("Start")){
ansicht1.makeInvisible();
ansicht2.makeVisible();
}
else if (ae.getActionCommand().equals("Weiter")){
ansicht2.makeInvisible();
ansicht3.makeVisible();
}
else if (ae.getActionCommand().equals("Zurück")){
ansicht4.makeInvisible();
ansicht3.makeVisible();
}
else if(ae.getActionCommand().equals("OK")){
ansicht4.makeInvisible();
ansicht5.makeVisible();


}
}
public void Einstellen(Startbenutzerfläche pGUI1,Datumseingabe pGUI2,Nahrungseingabe pGUI4,Eintragungsfläche pGUI3,Bestaetigungsflaeche pGUI5){
ansicht1 = pGUI1;
ansicht2 = pGUI2;
ansicht4 = pGUI4;
ansicht3 = pGUI3;
ansicht5 = pGUI5;
}
}


3. Klasse

soll halt nur die Werte aus den Textfeldern wissen und mit verarbeiten können
 
Code bitte in JAVA Tags packen... kann man ja kaum lesen so 🙂

ich versteh gerade garnicht, was du da machst, aber gut..

wenn eine Klasse etwas wissen soll, dann musst du ihr das sagen.
Entweder mit einer SetterMethode auf eine Variable, oder als Parameter an eine andere Methode.


heisst, wenn du jetzt die Klasse
TextLeser
und du einer Instanz dieser Klasse etwas mitteilen moechtest, dann ruf einfach auf der instanz die Methode auf und fertig.

Du koenntest hier mit einem ObserverPattern arbeiten

in deiner GUI kannst du ein Objekt "textLeser" haben und dann "textLeser.setText(textfield.getText())" machen
 
Zuletzt bearbeitet:
hast du denn dabei auch bedacht das

.getText() erst passieren darf wenn der Button gedrückt ist?
 
#Ich formuliere mal die frage anders,
Wie kann ich dem Actionlistener sagen das es dieses Textfeld gibt..
 
"textLeser.setText(textfield.getText())"
machst du einfach im ActionListener ni der ActionPerformed Methode

dann wird das gemacht, sobald die action performed wird
 
Ich hatte das jetzt mal so ausprobiert:

Java:
String Tag = new String("");

public String getTag(){
   Tag = textfeld1.getText();
   return Tag;
}

und im Buttonlistener steht dann das:
Java:
String Tag = new Datumseingabe().getTag();
System.out.println(Tag);

= NullPointerException :S , ich weiß aber nochnicht soganz warum
 
OK hat sich erledigt.. danke nochmal für eure hilfe..
der code am ende war eig. sogut wie richtig x.x
 

Zurück
Oben