# Suche gute tutorials für EventObject



## mrno (23. September 2005)

Hi,
bin gerade dabei mich mit dem EventObject auseinander zu setzen. Jetzt bin ich auf der suche nach gescheiten tutorials darüber. Kennt ihr irgendwelche Tutorials darüber? 
Was auch nicht schlecht wäre sind beispiele in denen mit einem EventObject gearbeitet wurde. Das habe ich gar nicht gefunden. Durch beispiele lernt man immer noch am besten.
Hoffe ihr habt da was für micht. Bei google habe ich nichts gefunden was mir weiterhilft.


----------



## schnuffie (23. September 2005)

Suchst Du ein spezielles EventObject?


Event-Handling ist relativ einfach. Im grafischen Umfeld gibt es Listener (siehe auch Observer-Pattern http://www.torsten-horn.de/techdocs/sw-patterns.htm), mit denen man auf bestimmte Ereignisse reagieren kann.

Die Komponente, die das Ereignis "produziert", muß diesen Listener übergeben bekommen = bekannt machen. Die gleiche oder eine andere Komponente kann diesen Listener implementieren und wird somit benachrichtigt.

Beispiel:

```
//...
Button b = new Button("Hallo");
b.addActionListener(new HalloListener());
//...
```
 

```
public class HalloListener implements ActionListener {
  public void actionPerformed(ActionEvent ae) {
	System.out.println(ae.getActionCommand());
  }
}
```


----------



## mrno (23. September 2005)

Gibt es auch eine anleitung wie man sich ein Event und Listener selber schreiben kann? Habe nämlich eine oberfläche mit mehreren elementen. Diese Oberfläche benutze ich in mehreren Programmen und deswegen möchte ich mich einen eigenen Listener schreiben. Hab aber leider keine guten tutorials dazu gefunden.


----------



## bl4ck29 (23. September 2005)

http://www.tutorials.de/tutorials220134.html&highlight=event

guck mal da hatte das prob auch shcon und hab "etwas" dazu gefunden was dir vllt helfen kann, trotzdem falls du tuts oder beispiele findest die besser sind wäre es schön wenn du das hier dann auch eben posten könntest da mich das thema auch interessiert


----------



## mrno (23. September 2005)

leider tut nur der link zu galileo computers. Den kenn ich schon. Der ist nur schlecht erklärt finde ich. Die anderen zwei links sind down. Hat nicht noch jemand was anderes


----------



## schnuffie (26. September 2005)

Das mit Event und Listener ist am Beispiel leicht zu erklären.

Angenommen, Du willst Bier trinken. Was fällt Dir dazu alles ein?  

Du brauchst mindestens eine Bierflasche, verschiedene Events und Listener...

1. die Bierflasche:

```
public class Bierflasche {
 
public Bierflasche () {
}
 
private FuellstandListener fl;
private NachkaufListener nl;
 
public void addFuellstandListener(FuellstandListener fl) {
this.fl = fl;
}
 
public void addNachkaufListener(NachkaufListener nl) {
this.nl = nl;
}
 
public void trinkSchluck() {
int fuellstand = fl.getFuellstand();
if (fuellstand < 1) {
	if (nl != null) nl.kaufNach(new LadenEvent("edeka", "sofort"));
	if (fl != null) fl.istLeer(new FuellstandEvent(0));
}
else {
	if (fl != null) fl.getrunken(new FuellstandEvent(fuellstand - 1));
}
}
 
}
```
 
2. die Events:


```
public class FuellstandEvent {
 
private int fuellstand;
 
public FuellstandEvent(int fuellstand) {
this.fuellstand = fuellstand;
}
 
public int getFuellstand() {
return fuellstand;
}
 
}
```
 

```
public class LadenEvent {
 
private String laden;
private String dringlichkeit;
 
public FuellstandEvent(String laden, String dringlichkeit) {
this.laden = laden;
this.dringlichkeit = dringlichkeit;
}
 
public String getLaden() {
return laden;
}
 
public String getDringlichkeit() {
return dringlichkeit;
}
 
}
```
 
3. die Listener:


```
public interface FuellstandListener {
public void getrunken(FuellstandEvent fl);
 
 
public void istLeer(FuellstandEvent fl);
 
}
```
 

```
public interface NachkaufListener {
 
public void kaufNach(LadenEvent le);
 
}
```
 

...trink' nicht soviel. ^^


----------



## mrno (26. September 2005)

Danke für deine gute Erklärung.
Habe jetzt noch mal eine andere frage. Im Galileo tutorial wird ein EventObject benutzt. Für was brauche ich das?


----------



## bl4ck29 (26. September 2005)

nur um die source also das object zu speichern was das event auslöst....bei objecten wie jbutton brauch man das z.b.


----------



## schnuffie (27. September 2005)

Genau. Du könntest also z.B. die Bierflasche mit in die Events packen - vielleicht willst Du ja Leergut abgeben...


----------

