# Swing Button ActionListener Infos aus Textfield und ComboBox



## elian85 (18. Sep 2008)

Hallo, ich habe ein glaub ich recht triviales Problem blos durch googlen bin ich leider zu keiner Loesung gekommen.

Ich habe einen JButton:



```
JButton buttonSearch = new JButton("Suchen");
		buttonSearch.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
...
```

Nach Klicken auf den Button sollen die Informationen aus ein paar ComboBoxen und einem Textfield an eine andere Methode/Klasse uebergeben werden. Bisher hatte ich die ComboBoxen so eingestellt, dass sie nach Auswahl eines Elementes das unter einem private String speichern. Geht bestimmt einfacher, oder?



```
JComboBox boxArt = new JComboBox();
		boxArt.addItem("Alle Wörter");
		boxArt.addItem("Person, Autor");
		boxArt.addItem("ISBN");
		boxArt.addItem("Schlagwörter");
		boxArt.addItem("Jahr");
		boxArt.setBounds(175, 65, 150, 28);
		tabSearch.add(boxArt);

		ActionListener actionListenerBoxArt = new ActionListener() {
		      public void actionPerformed(ActionEvent actionEvent) {
		        ItemSelectable is = (ItemSelectable)actionEvent.getSource();
		        System.out.println(boxArtResult);
		        boxArtResult = selectedString(is);
		        System.out.println(boxArtResult);
		      }

		    };
		    boxArt.addActionListener(actionListenerBoxArt);
...

    private String selectedString(ItemSelectable is) {
	    Object selected[] = is.getSelectedObjects();
	    return ((selected.length == 0) ? "null" : (String)selected[0]);
	  }
```

Beim Textfield hab ich das nur "geschaft", dass nach Bestaetigung durch Enter das ganze verwertet wird.


```
final JTextField searchFor = new JTextField();
		searchFor.setBounds(25, 30, 300, 28);
		tabSearch.add(searchFor);
		searchFor.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				String text = searchFor.getText();
			    searchFor.selectAll();
				System.out.println(text);
			}
		});
```

Waere super wenn ihr mir helfen koenntet! Also am liebsten waer mirs, wenn nur nach klicken des Buttons aus den Comboboxen und Textfeld die Informationen direkt weitergegeben werden. Dass durch Enter das ganze auch erreicht werden kann soll erstmal nicht sein.

Vielen Dank schonmal,
Gruss
Bjoern


----------



## Bsc (18. Sep 2008)

Mein PC hat sich gerade aufgehaengt. sorry!


----------



## air_canada (18. Sep 2008)

Ich versteh das Problem nicht so ganz. Du kannst doch einfach Deine ComboBox und Dein Textfeld als Klassenvariablen definieren und dann beim ActionListener des Buttons die Methode aufrufen mit:


```
myButton.addActionListener(new ActionListener(){
   public void actionPerformed(ActionEvent e){ 
      myMethod(textField.getText(), comboBox.getSelectedItem());
   } 
});
```


----------



## elian85 (18. Sep 2008)

aeh ja... hab doch gesagt ist trivial^^.


----------

