# Mehrere verschiedene Textfelder auslesen?



## duddel123 (27. Aug 2004)

Hallo zusammen,

 ich möchte gerne verschiedene Textfelder auslesen, leider ist mir nur bekannt wie man eines, bzw. jedes per Event ausliest ich habe aber keine Ahnung wie man die verschiedenen Textfelder, dann verschiedenen Variablen zu ordnen kann:

Z.Bsp.:


```
Panel SouthPanel=new Panel(new FlowLayout());
	     TextField tf = new TextField("Vorname",20);
	     tf.addActionListener(this);
	     tf.addTextListener(this);
	     SouthPanel.add(tf);
	     add(SouthPanel, BorderLayout.SOUTH);


	     TextField tf2 = new TextField("Nachname",20);
	     tf2.addActionListener(this);
	     tf2.addTextListener(this);
	     SouthPanel.add(tf2);
```

Kann mir jemand näher bringen wie ich nun die beiden Eingaben voneinander getrennt bekomme???

g duddel123


----------



## Beni (27. Aug 2004)

Etwa so:


```
public class Blupp extends JFrame{
  private JTextField fieldA, fieldB;
  
  public Blupp(){
    fieldA = new JTextField();
    fieldB = new JTextField();

    add( ...
  }

  public void doSomething(){
    String a = fieldA.getText();
    String b = fieldB.getText();
  }
}
```


----------



## duddel123 (27. Aug 2004)

und wenn man kein JFrame verwenden will nur auf das gute alte AWT setzt?????????


----------



## Beni (27. Aug 2004)

Dann ist ein bisschen abstraktes Denken gefragt. Schau Dir den Code genau an, denkst du wirklich das würde nur funktionieren, wenn die Klassen was mit Swing zu tun haben... :wink:


----------



## duddel123 (27. Aug 2004)

Tja wenn der Compiler nicht immer ne Exceptions rausschmeissen würde an der getText() stelle...dann würde ich das ja glauben!!


```
java.lang.NullPointerException
	at Fenster.YUPI(Fenster.java:142)
	at Fenster.actionPerformed(Fenster.java:127)
	at java.awt.Button.processActionEvent(Unknown Source)
	at java.awt.Button.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
```


----------



## Beni (27. Aug 2004)

Wie sieht denn der Code aus, der die Exception wirft?


----------



## duddel123 (27. Aug 2004)

so...


```
public class Fenster extends Frame implements 	WindowListener,KeyListener,
												ActionListener,ItemListener,TextListener{
	 private JTextField fieldA, fieldB;
	

	
	Fenster(String Title){
		
		
		super("BLA");
		
//		 Fenster wieder schliessen
	     addWindowListener( new WindowAdapter() {
	               public void windowClosing(WindowEvent event){
	                  setVisible(false);
	                  dispose();
	                  System.exit(0);
	               }
	            }
	     );
	         
	     setSize(800,800);
	     setLocation(15,1);
       
	     Panel NorthPanel=new Panel(new FlowLayout());
	     Button connect = new Button("connect");
	     connect.addActionListener(this);
	     NorthPanel.add(connect);
	     add(NorthPanel, BorderLayout.NORTH);
	     
	     Button disconnect = new Button("disconnect");
	     disconnect.addActionListener(this);
	     NorthPanel.add(disconnect);
    
	     Panel SouthPanel=new Panel(new FlowLayout());
	     TextField fieldA = new TextField("Bitte die IP eingeben",20);
	     fieldA.addActionListener(this);
	     fieldA.addTextListener(this);
	     SouthPanel.add(fieldA);
	     add(SouthPanel, BorderLayout.SOUTH);


	     TextField tf2 = new TextField("BESCHREIBE MICH",20);
	     tf2.addActionListener(this);
	     //tf2.addTextListener(this);
	     SouthPanel.add(tf2);
	     
	     //add(SouthPanel, BorderLayout.SOUTH);	     
	     
	     
	     Button Links = new Button("Links");
	     Links.addActionListener((ActionListener) this);
	     SouthPanel.add(Links);
	     
	     Button Rechts = new Button("Rechts");
	     Rechts.addActionListener((ActionListener) this);
	     SouthPanel.add(Rechts);
	     

	     
		addWindowListener((WindowListener) this);
		addKeyListener((KeyListener) this);
	     setVisible(true);
		
	}
	
	
	public void textValueChanged(TextEvent event)
	{
	   TextField tf = (TextField)event.getSource();
	   System.out.println("textValueChanged: "+tf.getText());
	}
	
		public void actionPerformed(ActionEvent e) {
			

			Object ob=e.getSource();
	     	String text = e.getActionCommand();
	       
	     	if (text.equals("Links")){
	     		YUPI();

	     	}

  	}
```


----------



## duddel123 (27. Aug 2004)

Uupss, da fehlte ja noch ne Methode!!!


```
public void YUPI(){
		String a= fieldA.getText();
 		System.out.println("" + a);
	}
```


----------



## Roar (27. Aug 2004)

ööh. du instantiierst nirgendwo fieldA, darum ist es null ( logisch?)
und: Swing nicht mit AWT mischen!!


----------



## Beni (27. Aug 2004)

Guck dir mal die 3. Zeile an: du erstellst dort nicht nur ein neues Textfeld, du kreierst auch eine neue Variable namens "fieldA". Es gibt also in deinem Progi _zwei_ Variablen die "fieldA" heissen, eine davon muss weg!

```
Panel SouthPanel = new Panel(new FlowLayout());

		TextField fieldA = new TextField("Bitte die IP eingeben", 20);  /// <<<<<<<< hier

		fieldA.addActionListener(this);
		fieldA.addTextListener(this);
		SouthPanel.add(fieldA);
		add(SouthPanel, BorderLayout.SOUTH);
```

Schreib das mal so hin:

```
fieldA = new TextField("Bitte die IP eingeben", 20);  /// <<<<<<<< hier
```


----------



## Guest (28. Aug 2004)

ach ja, stimmt ja auch, hab ich gar nicht gesehen!! Nun funzt es, besten dank!!


----------

