IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

swing best practices.


Sujet :

AWT/Swing Java

  1. #1
    Membre éclairé
    Avatar de bbclone
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 537
    Points : 704
    Points
    704
    Par défaut swing best practices.
    salut tous,

    je peut vous demander quel sont vos maniere de developer des application swing?
    je fais du swing depuis quelques mois maintenant
    je suis pas un expert mais je m'en sort pas mal :o) :o)

    j'aimerai savoir comment vous developer vos application.

    -comment vous gerer vos persistence d'objet vers une base de donnees.
    JDBC? ADF-JClient? Framework comme Hibernate? autre?...

    -comment vous gerer les localization?
    Bundle ou autre system personel?
    quel genre de cle vous utiliser?
    qu'est ce que vous y metter?racourcis de menu?accelerator key?autre?

    -vous metter bcp de Java2D?
    je veux dire des petit effet qui rende l'application plus fun.

    -vous creer vos composant ou vous preferer les recopier d'internet?
    je veux un composant Calendrier. Je l'ecri ou je le cherche sur Internet?

    -comment vous gerer les actions des boutons,textfield,et les autres composants?
    vous utiliser des ActionMap?

    -est-ce que vous diviser les differents layer?
    comment?
    donnees d'un cote et design de l'autre?comment? ou vous metter les evenement alors?

    je voudrais savoir quels sont vos maniere de faire(ou quel sont les "best practices") pour pouvoir un peu comparer.

    Je demande parce que j'ai vu des truc ici depuis quelque jour qui m'on beaucoup etonner.

    merci

  2. #2
    Membre éclairé
    Avatar de bbclone
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 537
    Points : 704
    Points
    704
    Par défaut
    personne fait du swing?

  3. #3
    Membre éclairé
    Avatar de bbclone
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 537
    Points : 704
    Points
    704
    Par défaut
    3eme question que je pose sur ce forum.
    3eme question a laquel j'aurai pas de reponse.

    la question 1 c'etait le spinner dans un JTable
    la question 2 c'etait le combobox comme msn messenger

    vous faite tous du Swing sans comprendre ce que vous faite alors?

  4. #4
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Pour les best practice, y'en a pas franchement vu qu'à la base tu réponds à un cahier des charges et que tu essayes de faire au mieux avec les limitations que l'on t'a donné... (Frameworks, composants externes permis, de même pour les API tierces)

    Ensuite en général, si j'ai le choix:
    Du Hibernate en tant qu'outil de mapping
    Du binding JGoodies pour la relation variables/composants
    Du validator JGoodies pour vérifier les entrées
    Du FormLayout (toujours JGoodies) pour agencer les formulaires (et du BorderLayout pour le reste ça suffit amplement)
    Si j'ai besoin d'un composant particulier, tout dépend du temps qu'il me reste...
    Java2D: Si ça apporte réellement un plus à l'appli, et ça dépend de l'utilsateur final (sérieux ou pas)
    Les Actions pour les boutons (aussi peu d'actionListener que possible, ça alourdit sévèrement le code)
    En général du pattern ModelVue(pas forcément de controleur), du Singleton, de la façade, des Builder et des Factory si besoin est...
    Localisation, jamais trop eu l'occasion de d'aller en profondeur, donc j'évite de me prononcer


    Et puis pour tes questions précédentes:

    Pour l'emoticonpicker, tu as la solution dans les posts, t'as pas du la voire c'est tout: JButton qui fait apparaître une JWindow contenant les emoticons à l'endroit idoine ($Soft n'utilise pas de combo pour ça)
    Pour le premier: j'en sait rien il ne me serait pas trop venu à l'idée d'utiliser unJSpinner pour ça mais plutôt un composant calendar sur une JWindow en tant queditor et un SimpleDateFormatter en tant que renderer, ensuite à toi de voire...
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  5. #5
    Membre éclairé
    Avatar de bbclone
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 537
    Points : 704
    Points
    704
    Par défaut
    :-)

    ce que je remarque ici depuis quelque jours c'est que beaucoup pose des question basique sur des principe de swing a connaitre avant de pouvoir commencer a faire du swing.

    Renderer/Editor
    Swing et l'Event Dispatch Thread (SwingWorker...)
    Model pour table, liste... - Document pour Composant texte

    a la fin, je me demande si tous ne font que bidouiller en swing pour que ca marche en esperant que personne ne reprenne le code.

    mes probleme je les ai resous tout seul ;-)

  6. #6
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Comme tout le monde
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  7. #7
    Membre éclairé
    Avatar de bbclone
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 537
    Points : 704
    Points
    704
    Par défaut
    quoi Comme tout le monde ?

    vous ovus pouser aussi des questions?
    ou vous regler aussi vos problemes seul?

  8. #8
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    J'ai comme l'immpression qu'il y a corrélation inverse entre le nombre de posts et le nombre de questions posées, mais bon ensuite...
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  9. #9
    Membre du Club

    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 32
    Points : 55
    Points
    55
    Par défaut
    Citation Envoyé par bbclone
    quoi Comme tout le monde ?

    vous ovus pouser aussi des questions?
    ou vous regler aussi vos problemes seul?
    Personnellement je bricole, j'essaie, je m'amuse un peu et puis je prend ce qui marche bien... Je passe aussi pas mal de temps à me documenter par ci par là.
    Je pense pas qu'il y ait vraiment des "guideLines" a part les grosses bases (EDT en tête)

  10. #10
    Membre éclairé
    Avatar de bbclone
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 537
    Points : 704
    Points
    704
    Par défaut
    correlation inverse c'est a dire? j'ai pas compris.

    je crois que c'est mieu si on arrete la ce sujet.
    on va dire chacun fait a sa maniere et c'est tout. ok?

  11. #11
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Salut,
    Oh c'est simple : comme tu l'as toi-meme remarque il y a enormement de questions posees mais sur un nombre tres reduit de sujets... Au vu du nombre et de leur nature, on peut donc facilement en deduire que :

    0) beaucoup de gens debutent en Swing, que ce soit pour des TP, des projets ou des stages, voir mais plus rarement pour leur travail (en general ils sont d'abord passe par les autres etapes avant d'en arriver la).

    Et que :

    1) ces personnes ne lisent jamais la FAQ

    2) ces personnes ne font jamais de recherches dans le forum pour trouver des solutions pre-existantes avant de poser leur question.

    3) ces personnes ne font jamais de recherches tout court sur Google, dans des livres ou dans d'autres supports.

    Enfin pour les "best practices", un sujet similaire a ete pose il y a peu de temps (voir point #2), des reponses ont ete donnees (en gros non pour le moment quoi qu'il existe des bouquins sur le devellopement Swing). Il n'existe guere que la regle relative a l'usage de l'EDT.

    EDIT : tiens, d'ailleurs, y a du nouveau sur l'application framework pour Swing (JSR 296) qui devrait eviter qu'on fasse chacun notre cuisine et notre architecturage de GUI maison de notre cote. Voir http://weblogs.java.net/blog/hansmul...6_bows_sw.html, ici http://cld.blog-city.com/hans_muller...pplication.htm ou encore ici (presentation de JavaOne 2006) http://weblogs.java.net/blog/hansmul...3399-final.pdf
    Par contre il ne dit pas si c'est toujours prevu pour Java 6 ou si la JSR sera finalisee dans Java 7.


    Quand au sondage, un petit tag [sondage]/[consultation]/[questionnaire]/[questions pour tout le monde]/[avis]/[donnez votre avis]/[demande d'avis] aurai probablement ete le bienvenu dans le titre du sujet pour inviter les gens a poser leur avis/experience. Enfin... faut pas s'attendre a plein plein plein de reponses en moins de 24h surtout si le topic est poste au choix (plusieurs reponses sont admises) :
    - la nuit pendant que tout le monde dort (la plupart des utilisateur semblant etre en France Metrolitaine et/ou en Europe).
    - en week-end.
    - un jour ferie.
    - pendant les vacances scolaires/grandes vacances/Juillet/Aout car d'un coup la population du forum doit sacrement diminuer (mais en contrepartie la qualite des sujets/questions/reponses doit augmenter je pense).
    - en debut de semaine (lundi ~ 1er jour ouvrable) quand les gens ont encore la tete dans leur week-end ou doivent au contraire reflechir sur leur travail a venir.
    - en fin de semaine (vendredi ~ dernier jour ouvrable) quand ils sont en train de planifier leur week-end.

    D'autres facteurs influent egalement : l'orthographe, la presentation, l'attrait du sujet (un sujet "sexy" attire d'eventuels lecteurs et posteurs et est egalement plus interressant pour les utilisateurs avances qui peuvent en avoir ras le bol de toujours repondre aux meme questions), ...

    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  12. #12
    Membre éclairé
    Avatar de bbclone
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 537
    Points : 704
    Points
    704
    Par défaut
    le jsr296 est normalement prevu pour Dolphin (java7).
    j'avais lu ca quelque part dans un sujet de Hans Mulleur lui meme.

    0) Swing j'ai aussi commencer pour mon stage et pour un tp a l'ecole mais comme toujours avant d'utiliser un truc je l'etudie avant ;-)
    ca evite les surprise pendant le developement.

    => donc je suis aussi debutant en swing mais j'ai quand meme etudier les principes avant de me lancer!

    1) pour les faq, j'ai un peu lu mais je cherchait rien de particulier. les reponse ne sont generalement pas complete. regarde je prent un exemple

    http://java.developpez.com/faq/java/...e_celleditable

    >Pour que certaines cellules d'une JTable ne soient pas éditables, il faut créer sa propre classe dérivant de javax.swing.table.DefaultTableModel et redéfinir la méthode isCellEditable(int,int) afin que cette dernière retourne faux pour ces cellules.

    dans un sens c'est vrai, mais c'est pas complet.
    le truc c'est que la methode isCellEditable(int c, int r) est definie dans l'interface TableModel.
    meme si tu fais pas une sous classe de DefaultTableModel tu peux rendre certaine cellule non editable.

    => pour les faq ok ca peut etre interessant mais c'es pas non plus la source la plus sure non plus.


    2) t'a surement raison j'avais meme pas remarquer le menu recherche

    3) ca moi je fais j'ai une tonne de livre de java.


    je parlait pas seulement de l'EDT mais de Swing en general.

    si je poste encore des question je vais poser des trucs sexy.
    ca c'est promi.

    enfin, bonne journee a tous.

  13. #13
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Citation Envoyé par bbclone
    le jsr296 est normalement prevu pour Dolphin (java7).
    j'avais lu ca quelque part dans un sujet de Hans Mulleur lui meme
    La fin de la présentation (que je n'avais pas lu) indique qu'ils devraient sortir des binaires compatibles 1.5 (5.0) ~1.6 (6) et que ca sera "core", à priori, dans la 1.7 (7).

    Citation Envoyé par bbclone
    si je poste encore des question je vais poser des trucs sexy.
    ca c'est promi.
    Super !
    Mais ce n'est pas valable uniquement pour le forum : il y a qq années notre ancien chef de programme avait retourné sa copie de demande de financement d'un nouveau projet à un chercheur en lui disant de la revoir et d'en fournir une nouvelle version car je cite : "la présentation n'était pas assez sexy et n'accrochait pas assez les bailleurs de fonds potentiels" (la CEE dans ce cas)... Et quand on sait que le projet en question portait sur la modélisation, l'estimation des stocks et la prédiction de l'évolution des population d'espèces (de poissons) hautement migratoires dans le Pacifique Central........... Woala... ca veut tout dire...
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  14. #14
    Membre régulier Avatar de _KB_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2006
    Messages : 110
    Points : 92
    Points
    92
    Par défaut
    Pour ma part je rentre dans la catégorie "débutant qui bidouille en espérant que personne reprendra derrière"

    Plus sérieusement j'ai découvert le java il y a 3 mois dans le cadre d'un stage. J'apporte ma première brique au projet qui s'annonce colossal donc j'ai tout intérêt à prévoir pour que le code soit relu, modifié amélioré....J'utilise essentiellement Swing/awt, j'ai commencé par lire la faq, quand j'ai un problème je connais google, la fonction "rechercher" et même les tutos SUN

    Bref tout ça pour dire que je ne peux pas répondre à toutes tes questions pour le moment

    Dans la mesure du possible je crées mes classe plutôt que de les recopier à partir de programme trouvé sur le net...

    voilou
    Comme le disait Heisenberg « Chérie, j’ai garé la voiture, mais je sais plus où »

Discussions similaires

  1. MSSQL: Meilleures pratiques/Best practices
    Par spyne dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 16/08/2006, 10h18
  2. Réponses: 11
    Dernier message: 16/06/2006, 13h46
  3. Réponses: 4
    Dernier message: 23/05/2006, 14h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo