Hi,
ich weiß leider nicht ob das eher ins Forum für Netzwerkprogrammierung oder doch eher in die Swing Foren gehört, oder vielleicht doch eher eine allgemeine OOP Frage ist:
Ich arbeite an einem Programm, in dem man einen Suchbegriff eingibt und dann aus einder Datenbank im Internet Daten gesammelt werden. Da es natürlich ungewiss ist, wie lange es dauert, bis die Antwort vom Webserver kommt, würde ich gerne, währen ich darauf warte, ein drehendes Rädchen, wie man es z.B. von AJAX kennt einbauen.
Mein Programm sieht so aus, dass die Ergebnisse in einer JTable dargestellt werden, also im Hintergrund ein AbstractTableModel arbeitet. Das wiederum bekommt die Daten von einer API für das Webinterface.
Ich weiß leider nicht so recht, wie ich nun da ran gehen soll. Der User schickt eine Suchanfrage, diese würde ja dann asynchron an die API geschickt, damit der Swing-Thread nicht blockiert wird. Nun setzt die API die Anfrage ab und stellt sich beispielsweise selber auf loading = true; Kommen die Anfragen nun zurück, wird loading = false gesetzt. Und nun? Wie teile ich das der GUI wieder mit? Wenn die API eine Methode der GUI anspricht klingt das für mich nach keinem guten OOP Ansatz, da ja eigentlich die GUI die Daten von sich aus abfragen sollte oder? Wie löst ihr sowas? Gibts da evt. schon Interfaces die für so etwas gut sind?
Liebe Grüße,
Michael
ich weiß leider nicht ob das eher ins Forum für Netzwerkprogrammierung oder doch eher in die Swing Foren gehört, oder vielleicht doch eher eine allgemeine OOP Frage ist:
Ich arbeite an einem Programm, in dem man einen Suchbegriff eingibt und dann aus einder Datenbank im Internet Daten gesammelt werden. Da es natürlich ungewiss ist, wie lange es dauert, bis die Antwort vom Webserver kommt, würde ich gerne, währen ich darauf warte, ein drehendes Rädchen, wie man es z.B. von AJAX kennt einbauen.
Mein Programm sieht so aus, dass die Ergebnisse in einer JTable dargestellt werden, also im Hintergrund ein AbstractTableModel arbeitet. Das wiederum bekommt die Daten von einer API für das Webinterface.
Ich weiß leider nicht so recht, wie ich nun da ran gehen soll. Der User schickt eine Suchanfrage, diese würde ja dann asynchron an die API geschickt, damit der Swing-Thread nicht blockiert wird. Nun setzt die API die Anfrage ab und stellt sich beispielsweise selber auf loading = true; Kommen die Anfragen nun zurück, wird loading = false gesetzt. Und nun? Wie teile ich das der GUI wieder mit? Wenn die API eine Methode der GUI anspricht klingt das für mich nach keinem guten OOP Ansatz, da ja eigentlich die GUI die Daten von sich aus abfragen sollte oder? Wie löst ihr sowas? Gibts da evt. schon Interfaces die für so etwas gut sind?
Liebe Grüße,
Michael