Hi,
ich sitze zur Zeit an meiner ersten Guice-Anwendung die über eine Gui verfügt und bin auf ein Problem gestoßen. Swing Komponenten sollten soweit ich weiß immer im EDT erzeugt werden, um einen sauberen Ablauf zu gewähren. Wenn ich die Komponenten mit Guice injiziere, passiert dies nicht. Ich habe mir folgende Ansätze überlegt / gefunden:
1) Ich erstelle mir einen Builder oder Provider, welcher injiziert wird und mir dann die geforderte Komponente im EDT erzeugt. Nachteil: Die Objekte werden "von Hand" erzeugt, Injection in den Komponenten ist also wieder hinfällig.
2) Ich erstelle mir einen Custom Scope, welcher regelt, dass JComponents im EDT erzeugt werden. Nachteil: Ich hab bisher keine Ahnung von Scopes und bräuchte Einarbeitungszeit für so etwas. Außerdem glaube ich, dass das Konfigurieren im Module so schnell unübersichtlich wird.
3) Ich benutze das GUTS Framework. Das ist aber nur für Guice 2.0 und schleppt ein wenig. Außerdem möchte ich mir nicht schon wieder ein Framework einfangen...
Habt ihr Erfahrungen damit und so etwas schon einmal gemacht? Wie seid ihr vorgegangen? Gibt es da "Best practices"?
Vielen Dank,
Tim
ich sitze zur Zeit an meiner ersten Guice-Anwendung die über eine Gui verfügt und bin auf ein Problem gestoßen. Swing Komponenten sollten soweit ich weiß immer im EDT erzeugt werden, um einen sauberen Ablauf zu gewähren. Wenn ich die Komponenten mit Guice injiziere, passiert dies nicht. Ich habe mir folgende Ansätze überlegt / gefunden:
1) Ich erstelle mir einen Builder oder Provider, welcher injiziert wird und mir dann die geforderte Komponente im EDT erzeugt. Nachteil: Die Objekte werden "von Hand" erzeugt, Injection in den Komponenten ist also wieder hinfällig.
2) Ich erstelle mir einen Custom Scope, welcher regelt, dass JComponents im EDT erzeugt werden. Nachteil: Ich hab bisher keine Ahnung von Scopes und bräuchte Einarbeitungszeit für so etwas. Außerdem glaube ich, dass das Konfigurieren im Module so schnell unübersichtlich wird.
3) Ich benutze das GUTS Framework. Das ist aber nur für Guice 2.0 und schleppt ein wenig. Außerdem möchte ich mir nicht schon wieder ein Framework einfangen...
Habt ihr Erfahrungen damit und so etwas schon einmal gemacht? Wie seid ihr vorgegangen? Gibt es da "Best practices"?
Vielen Dank,
Tim