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] Affichage de fiches produits avec image


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de calogerogigante
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Avril 2003
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2003
    Messages : 608
    Par défaut [Swing] Affichage de fiches produits avec image
    Je désire continuer mon ré-apprentissage progressif de java.

    Après avoir fait une mini application qui enregistre ses données dans une BDD embarquée comme HSQLDB :
    cf ce post-ci
    http://www.developpez.net/forums/sho...d.php?t=462899
    (à améliorer encore en gérant les enregistrements comme instances d'une classe !! )

    Je voudrais ajouter à mes enregistrements une image (surtout du jpeg).

    C-à-d, quand on crée un enregistrement avec un ID "XXX", qu'on ait la possibilité d'aller chercher une image sur le disque dur (avec un JFileChooser) et qu'ensuite, cette image soit formatée (hauteur max, largeur max) pour être stockée (en l'état formaté) dans un folder annexe avec comme nom imageXXX.jpg .

    Ma question avant ma mise en pratique : comment gérer l'affichage des images dans mon interface SWING pour toute la panoplie des enregistrements déjà réalisés (images affichables en consultation par l'utilisateur) ?

    1) Doit-on envisager de toutes les pré-charger en mémoire ? En même temps que toute ma collection des objets représentant mes enregistrements ?

    2) Ou vaut-il mieux gérer un chargement-déchargement permanent des images stockées dans le folder des images formatées, en fonction des demandes d'affichage de l'utilisateur, pour ménager la mémoire ?

  2. #2
    Membre éclairé Avatar de calogerogigante
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Avril 2003
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2003
    Messages : 608
    Par défaut
    Une autre façon de poser ma question :

    Comment gère-t-on au mieux les images et imagettes d'un mini-programme simple que je veux réaliser et dont l'IHM sera comme ceci :



    Je n'ai aucun problème pour la construction de l'interface et le mécanisme du programme...

    Je voudrais juste un conseil pour savoir comment on gère l'affichage-désaffichage des imagettes.

    Faut-il toutes les pré-charger en mémoire ? Si c'est une BDD énorme, ça pourrait alors poser problème, non ?

    (Ce programme sera mis dans la rubrique "Partagez vos sources" quand je l'aurai fini, c'est pour ça que je veux le faire correctement)

  3. #3
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 690
    Par défaut
    Ce genre d'image peut être géré sans problème par la classe JLabel qui peut aussi bien afficher une image, du texte ou les deux.

  4. #4
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 690
    Par défaut
    un petit exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JLabel jl = new JLabel(new ImageIcon(getClass().getResource("/image.png")));

  5. #5
    Membre éclairé Avatar de calogerogigante
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Avril 2003
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2003
    Messages : 608
    Par défaut
    Oui, OK. Il y a en effet plusieurs façons de pouvoir intégrer l'image dans l'interface graphique. Je n'ai pas de soucis avec ça.

    Mais ce que je voudrais savoir : faut-il toutes les charger en une fois (même s'il y a 100.000 produits dans la liste...) ?

    Ou y-a-t-il moyen de faire en sorte qu'on charge juste l'image du produit affiché dans la partie supérieure et seulement les imagettes des lignes "visibles" de la JTable en dessous ? (est-ce possible ce dernier point ?)

    C'est plutôt sur cet aspect du chargement dynamique en mémoire que se concentre ma question...

  6. #6
    Membre chevronné Avatar de bassim
    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Février 2005
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 666
    Par défaut
    donc c'est à toi de gérer ça. par exemple, quand tu choisis un autre produit, par un bouton "suivant" ou autre, t'executes la requete appropriée et tu charges l'image.

    j'espere avoir été clair !

  7. #7
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 690
    Par défaut
    Pour l'affichage/désaffichage, c'est malheureusement difficile de répondre, ca dépend de ce que tu estime acceptable niveau consomation mémoire et du nombre d'image que tu souhaite afficher.
    Personellement je n'ai jamais eu de problème même en utilisant beaucoup de JLabel.

  8. #8
    Membre éclairé Avatar de calogerogigante
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Avril 2003
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2003
    Messages : 608
    Par défaut
    Oui, c'est clair bassim mais j'ai besoin de détails.

    Exemple : si je charge une image avec :

    getClass().getResource("/image019.png")

    Est-ce que si je fais défiler 100.000 produits, est-ce que cela va garder en mémoire 100.000 fois le poids de chaque image ? Ou dois-je expréssement ajouter une fonction qui va abandonner au GarbageCollector l'image qui n'est plus affichée (à ma demande) ?

    Comment relâche-t-on une image au Garbage Collector ?

    Autre aspect de la question : peut-on savoir avec une JTable si une ligne est VISIBLE à l'écran (et non pas cachée au fond d'un JSCrollPane par exemple) ?

Discussions similaires

  1. [MySQL] Affichage de fiche produit en PHP/SQL
    Par quaresma dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 09/03/2011, 00h48
  2. question jointure fiche produit avec relation
    Par gtraxx dans le forum Langage SQL
    Réponses: 6
    Dernier message: 15/09/2010, 10h42
  3. produits avec images dynamiques
    Par regis3 dans le forum Débuter
    Réponses: 6
    Dernier message: 21/02/2009, 12h14
  4. [WinForms]Lenteur d'affichage formulaire avec image de fond
    Par olixelle dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 06/09/2006, 14h06
  5. [SWING]affichage d'une image
    Par chico_du_33 dans le forum AWT/Swing
    Réponses: 51
    Dernier message: 08/07/2005, 09h55

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