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 :

Mob code devient illisible


Sujet :

AWT/Swing Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 354
    Par défaut Mob code devient illisible
    Bonjour,
    J'ai comme projet de développer un logiciel , actuellement j'en suis à l'interface graphique.Et je suis en train de me rendre compte que mon code
    est en train de devenir illisible.
    J'ai mis dans une même classe les menus à ajouter à ma fenetre les Jmenuitem des menus . Sans oublier dans la classe d'ajouter les Listeners parce me classe principale implémente Listener,et les redéfinitions de la méthode actionPerformed pourr l'instant je n'ai que 5 cas,mais bon bref ça devient illisible.
    Pour ceux qui ont de l'expérience comment peut on faire :

    J'ai déjà remarqué que je peux mettre toutes les fenetres dont j'aurai besoin(en dehors de la fenetre principale) dans un répertoire Affichage je pourrai y accéder par un simple appel.(est ce que cette pratique est courante)
    Est ce que je peux séparer aussi le traitement des listeners dans une classe,toute aide est la bienvenue pour clarifier le code.

    MErci

  2. #2
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Prends un papier, un crayon, dessine ton logiciel avec des patates. Rend tout ça joli. Puis refait ton logiciel avec les patates.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 136
    Par défaut
    Bonjour,

    tout a fait d'accord (dans l'idée).
    Il s'agit en fait de faire de la conception. Tu pose des idées, tu représente tes objets et les intéractions qu'ils ont. Et ensuite, tu pourras coder proprement.

    Cdlt

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 354
    Par défaut
    Citation Envoyé par gifffftane Voir le message
    Prends un papier, un crayon, dessine ton logiciel avec des patates. Rend tout ça joli. Puis refait ton logiciel avec les patates.
    tout a fait d'accord (dans l'idée).
    Il s'agit en fait de faire de la conception. Tu pose des idées, tu représente tes objets et les intéractions qu'ils ont. Et ensuite, tu pourras coder proprement.
    Bonsoir,
    Mais moi aussi je suis d'accord avec vous, mais concrètement ???
    C'est le premier logiciel que je développe dans le cadre d'un projet scolaire,j'en suis à un point où je me suis rendu compte que sans une bonne organisation j'allais droit au mur mais pour l'instant les patates ne me parlent pas encore.
    J'ai une fenetre principale,des actions qui vont être effectuées , des fenêtres etc..Y a t il des constantes que vous retrouver dans vos projets???

    Merci

  5. #5
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Bon, j'essaie autrement alors.

    Essaie d'exprimer ton logiciel en supprimant tous les termes informatiques. Plus de fenêtres, de boutons, pas de base de données ni de fichiers, rien de ces choses. Parle français. Et c'est concrètement si utile que c'est la raison principale pour laquelle on peste tant contre le SMS dans ces forums.

    Pour l'organisation, c'est la base : parler français.

    Une fois que tu as réalisé ça, que ton client ou celui-faisant-fonction comprend ce que tu racontes, remets les termes informatiques. Telle chose est une fenêtre, telle autre un bouton, et ainsi de suite.

    Après, tu te demandes apparemment comment une vulgaire patate peut miraculeusement devenir une fenêtre ?... Mais c'est très simple ! voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public class Patate extends javax.swing.JFrame
    {
    }
    Ça c'est du concret !

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 354
    Par défaut
    Bonsoir,
    Merci de ta patience, je vais y réfléchir ,j'y verrai peut être plus clair demain.

    A+

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 64
    Par défaut
    Swing est très riche et il est très facile de voir son code devenir une grosse usine imbuvable.

    Comme l'ont écrit les autres, avant toutes choses, dessine ton application. A la limite tu peux utiliser l'interface NetBeans (pour moi le meilleur IDE pour faire des GUI) graphique et tu places tes éléments sans regarder le code derrière.

    Ensuite, quand tout çà sera nickel que ton interface aura une gueule correct, que tu commenceras à la faire fonctionner, tu organiseras tes packages par composants.

    Par exemple, mon interface affiche (entre autre) une liste d'utilisateurs sous forme d'un tableau. Au début, j'ai placé mon JPanel puis la JTable (Netbeans a rajouté le JScrollPane tout seul) en mettant des données fixes exemple. Puis, quand la gueule m'a plu j'ai créé un package monprojet.gui.components.tables et j'y ai regroupé mes classes qui vont définir au niveau fonctionnelle ma table UserListTable avec le UserListCellRenderer, le UserListTableModel dédiés.

    Une fois la base du composant écrite, j'ai rajouté ma JTable perso dans la palette de composants de Netbeans (clic droit sur la class qui étend JTable, Add to palette...), j'ai supprimé de mon interface graphique la JTable test, j'ai cliqué-déposé ma JTable perso depuis la palette vers mon JPanel où j'avais décidé de la placer et Netbeans me l'a dessiné tout comme il faut. Je n'ai plus eu qu'à modifier mes classes perso sans toucher à la classe qui défini l'interface, et du coup le code est clair et lisible et surtout ma table UserListTable sera réutilisable partout dans mon projet.

    En espérant que çà t'aide

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 354
    Par défaut
    OK Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Contenu DVD devient illisible
    Par compdev dans le forum Composants
    Réponses: 6
    Dernier message: 20/08/2009, 15h56
  2. Réponses: 1
    Dernier message: 19/04/2008, 16h34
  3. Remarques débutant : Code phtml illisible
    Par whitespirit dans le forum MVC
    Réponses: 5
    Dernier message: 30/01/2008, 13h21
  4. Quand le code devient illisible
    Par Polyfructol dans le forum SDL
    Réponses: 6
    Dernier message: 13/04/2007, 16h22
  5. Réponses: 24
    Dernier message: 29/09/2006, 17h36

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