Ich plane für einen Server zu programmieren, der so aufgebaut sein soll:
Es soll eine Kernkomponente geben, in der alles ohne Ausgaben abgearbeitet wird.
Zur Darstellung möchte ich dann ein JFrame aufbauen, bei der dann beispielsweise die Clients angezeigt werden, die momentan mit dem Server verbunden sind. Nun soll ein Interface, welches das JFrame implementiert hat, dazu dienen der Kernkomponente die Liste der Clients zu übergeben.
Beispiel:
Nun zu meiner Frage:
Ist es nun möglich, dass die Kernkomponente des Programms die Methode "refreshList( String[] clientList )" aufrufen kann, ohne zu wissen, welche (Instanzen von) Klassen diese Methode implementiert haben?
Ich möchte also kurz gesagt in der Kernkomponente die Methode "refreshList( String[] clientList )" in jeder Klasse aufrufen, die das MyInterface implementiert hat ( möglichst ohne voher die Objekte der Klassen zu sammeln; wie macht es Java beispielsweise beim MouseListener? Werden alle Klassen, die das Interface implementiert haben irgendwo angemeldet und in einer Liste eingetragen, sodass ein MouseEvent einfach an alle Klassen in dieser Liste z.b. mit der Methode "mousePressed" übergeben wird?)
Ich hoffe, dass mein Problem deutlich geworden ist^^. Hab jedenfalls im Forum noch nichts in der Art gefunden. Hab eventuell falsch gesucht. Ist dieses Problem eventuell anderst zu lösen? Also nicht mit einem Interface.
Es soll eine Kernkomponente geben, in der alles ohne Ausgaben abgearbeitet wird.
Zur Darstellung möchte ich dann ein JFrame aufbauen, bei der dann beispielsweise die Clients angezeigt werden, die momentan mit dem Server verbunden sind. Nun soll ein Interface, welches das JFrame implementiert hat, dazu dienen der Kernkomponente die Liste der Clients zu übergeben.
Beispiel:
Java:
public interface MyInterface {
public void refreshList( String[] clientList );
}
Java:
public class GUI implements MyInterface {
//...
public void refreshList( String[] clientList ) {
//code zum Verarbeiten der Liste
}
//...
}
Nun zu meiner Frage:
Ist es nun möglich, dass die Kernkomponente des Programms die Methode "refreshList( String[] clientList )" aufrufen kann, ohne zu wissen, welche (Instanzen von) Klassen diese Methode implementiert haben?
Ich möchte also kurz gesagt in der Kernkomponente die Methode "refreshList( String[] clientList )" in jeder Klasse aufrufen, die das MyInterface implementiert hat ( möglichst ohne voher die Objekte der Klassen zu sammeln; wie macht es Java beispielsweise beim MouseListener? Werden alle Klassen, die das Interface implementiert haben irgendwo angemeldet und in einer Liste eingetragen, sodass ein MouseEvent einfach an alle Klassen in dieser Liste z.b. mit der Methode "mousePressed" übergeben wird?)
Ich hoffe, dass mein Problem deutlich geworden ist^^. Hab jedenfalls im Forum noch nichts in der Art gefunden. Hab eventuell falsch gesucht. Ist dieses Problem eventuell anderst zu lösen? Also nicht mit einem Interface.
Zuletzt bearbeitet: