2009-02-10 9 views
10

Je voudrais apprendre à utiliser efficacement Swing Application Framework. La plupart des exemples que j'ai trouvés sont des entrées de blog qui expliquent comment il est génial d'étendre SingleFrameApplication et de surcharger sa méthode de démarrage, mais c'est à peu près tout. Sun's article a presque deux ans, tout comme the project's own introduction, et il semble qu'il y ait eu une certaine évolution depuis.Comment utiliser réellement Swing Application Framework?

Y a-t-il des didacticiels/HOWTO récents et complets disponibles partout? Il y a JavaDoc bien sûr, mais il est difficile d'avoir une vue d'ensemble à partir de là. Tous les pointeurs sont appréciés.

Mise à jour: J'ai réalisé qu'il y a un mailing list archive sur le site du projet. Bien que quelque peu maladroit (par rapport à StackOverflow;) il semble être assez actif. Pourtant, il est dommage qu'il n'y ait pas de véritables tutoriels partout. L'information est dispersée ici et là.

Mise à jour 2: Permettez-moi de préciser - Je ne parviens pas à utiliser Swing (la boîte à outils widget) lui-même, je parle de son cadre d'application , qui est censé faciliter les choses comme cycle de vie des applications (démarrage , sortie et tout ce qui se passe entre eux), gestion de l'action, etc., c'est-à-dire des choses dont la plupart des applications Swing auront besoin. Il est cool d'obtenir un tel cadre pour être standard part of Java. Le seul problème est d'apprendre comment il est destiné à être utilisé.

Mise à jour 3: Pour les intéressés, il y avait juste quelques discussions au forum du projet concernant l'état actuel et futur de la JSR 296. Peu de temps: la version actuelle 1.03 est considérée comme tout à fait utilisable, mais l'API n'est pas stable et va changer à la version finale en Java 7. Le nom du paquet va également changer afin que Java 7 ne brise pas les applications actuelles sur SAF. Karsten Lentzsch a déclaré au forum mentionné ci-dessus: "Je doute qu'il puisse être inclus dans Java 7, et je voterai contre.". Je préfère ne pas remettre en cause la sincérité de ce grand gourou, et il est certainement sage de ne rien laisser déraper dans le core JDK, mais franchement c'est une situation étrange - il est l'auteur de JGoodies Swing Suite qui est en partie un concurrent commercial de JSR 296, et il est assis dans le comité qui décidera si cette JSR sera incluse dans Java standard. C'était la même chose avec JSR 295 Beans Binding que j'ai écrit plus tôt. Compte tenu de l'état actuel de SAF, je pense que la meilleure solution consiste à intégrer l'implémentation actuelle dans un cadre "homebrew", qui peut ensuite accepter les modifications possibles de l'API existante.

Répondre

5

D'abord, mon conseil personnel serait de ne pas utiliser la dernière version de SAF qui est plus comme « refactoring en cours » (et cela n'a pas évolué depuis 6 mois maintenant ...)

I beaucoup préfère la version "1.03" qui, bien que non parfaite, est beaucoup plus stable et utilisable (je veux dire dans une application réelle).

Il est vrai que les ressources sur les SAF sont rares. Je me souviens avoir suivi ce chemin:

  • lire un JavaOne 2007 seminar à ce sujet; cela donne tout à fait une bonne image à son sujet

  • utilisé et lire javadoc chaque fois que nécessaire

  • prend parfois quelques regards au code source paliar javadoc manque

La liste de diffusion ne sont pas ce actif actuellement (mais c'est le vrai trafic qui vient de redémarrer un peu depuis le début de l'année, cependant, je n'ai pas vu de représentant Sun depuis août ou septembre 2008!)

L'année dernière, après environ un an de pratique avec SAF, j'ai présenté une conférence à Jazoon'08, vous pouvez trouver les diapos on my blog. Cette présentation était plus sur les conseils & astuces que j'ai recueillies tout en utilisant le cadre.

Parfois, j'ai aussi dû corriger certains points par moi-même parce que de nombreux problèmes sont de longue date (certains ne sont pas importants pour moi, d'autres bloquent). Je me souviens avoir vu (pas assisté) une autre présentation sur la pratique des SAF dans une conférence je pense en Suède, désolé je ne me souviens plus de détails. Était intéressant aussi.

C'est à peu près ce qui existe à ce sujet (à ma connaissance).

+0

Merci, je vais jeter un oeil à vos diapositives. –

0

Pas que je sache. J'ai décidé d'éviter d'utiliser le framework d'application swing jusqu'à ce qu'il arrive à maturité (ou qu'il meure). J'ai décidé d'utiliser plutôt les bibliothèques jgoodies pour attendre que Sun fasse quelque chose pour les développeurs swing.

+0

J'utilise déjà JGoodies Binding (gratuit), et j'envisage sérieusement d'acheter JGoodies Swing Suite (cher). C'est vraiment un produit de très haute qualité. –

+0

Pouvez-vous ajouter un lien? –

+0

http://jgoodies.com/ –

0

Vous pouvez jeter un oeil à SwingWiki, qui a une série de meilleures pratiques et des tutoriels, même si elle n'a pas été mis à jour depuis environ deux ans.

+0

SwingWiki n'existe plus –

3

Netbeans 6.5 a des applications squelettes qui peuvent vous donner un bon kickstart. Créez simplement un nouveau projet depuis l'EDI et sélectionnez Java> Java Desktop Application.

+0

Merci, il semble couvrir au moins les classes ResourceMap et TaskMonitor –

0

S'il est vrai qu'il y a eu une certaine évolution de Swing au cours des deux dernières années, les fondamentaux n'ont pas beaucoup changé.Je commencerais par les propres tutoriels de Sun.

Si vous voulez des livres alors beaucoup sont disponibles auprès des suspects habituels (McGraw Hill, O'Reilly) et d'autres pour ceux avec tous les niveaux de connaissance. Certains livres se réfèrent à Swing par son ancien nom "Java Foundation Classes" ou JFC.

+0

La question originale concerne "Swing Application Framework" (alias JSR-296), et non Swing lui-même – jfpoilpret

+0

Oups, ignore moi – DJClayworth

Questions connexes