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

Agents de placement/Fenêtres Java Discussion :

Jpanel multiples dans 1 JFrame


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de donnadieujulien
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    433
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 433
    Par défaut Jpanel multiples dans 1 JFrame
    Bonsoir, je réalise une petit programme dans lequel j'ai une frame centrale.

    Dans cette frame, je dois afficher plusieurs panels sleon les boutons cliqués par l'utilisateur de la faonc suivante :

    bouton 1 ->frame 1
    bouton 2 ->frame 2, etc...

    Quel est le meilleur moyen d'implantation d'un point de vue mémoire (éviter que tous les panels soient en mémoire en même temps)?

    J'ai pensé déclaré une JPanel pan;

    puis de créer plusieurs classes Jpanel asbstraites.

    Je pourrai les appeler à partir de ma frame comme ca :
    pan = new Pane1();
    pan = new Pane2();

    Y a t'il des solutions plus malines?

    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
    Il ne faut pas optimiser. Il faut faire de belles choses, c'est tout en notre monde.

  3. #3
    Membre éclairé Avatar de donnadieujulien
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    433
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 433
    Par défaut ?
    On va dire que ca n'est pas vraiment le genre de réponse que j'attendais!
    C'est bien beau de vouloir faire de belles choses mais si c'est pour utiliser 500mo de ram en même tps...
    Dans ce cas j'ai qu'a tout déclarer en static, je gagnerai du temps

  4. #4
    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
    En l'état présent de ce que tu décris, oui, il faut et il suffit d'utiliser des statics (qui probablement n'économiserons que partiellement, d'ailleurs).

    Il faut que tu travailles au niveau de tes utilisateurs, des services que tu rends, du métier client que tu exerces. Ici il n'en est nulle part question : l'économie mémoire n'est pas un service utilisateur.

    Plus tu exprimeras de façon claire ce niveau utilisateur, plus facilement et plus pertinemment tu optimiseras.

    Il existe des notions qui sont plus ou moins communes, ou parentes, entre tuyauterie informatique et métier ; par exemple la mémoire informatique et parente de l'information utile pour être capable d'organiser quelque chose.

    Par exemple quand un policier parcoure la ville à la recherche d'infractions, il a dans sa mémoire immédiate les types d'infraction les plus courants, il n'a pas le code civil entier. Ses fonctions d'observation sont déployées au max, toute sa mémoire immédiate est occupée à ça. S'il trouve une infraction, alors il sort son carnet de sa poche, sa mémoire immédiate se concentre sur le cas en cause... et quelqu'un peut bruler un feu rouge pendant ce temps, le policier ne le verra pas !

    Il faut que tu t'inspires de ça. (pas de bruler le feu rouge, hein). En comprenant tes utilisateurs, tu observeras qu'ils manipulent une forme de mémoire, et, tu pourras t'en inspirer pour organiser la mémoire de ton logiciel.

    Bon, j'admets que si tu faisais du Java Me au lieu du Swing, mon discours serait un peu différent...

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2009
    Messages : 12
    Par défaut
    Si tu dispose d'une machine ayant beaucoup de mémoire, tu peux tes panneaux en statique et tu les appelles quand tu veux.
    Inconvénient : le chargement au début est plus lent.

    Dans le cas contraire, tu créé dynamiquement tes panneaux par appui sur les boutons.
    Inconvénients :
    - Tu ne sais pas quand le Ramasse miettes va venir libérer la zone mémoire de tes anciens panneaux.
    - Si le traitement d'initialisation de ton nouveau panneau est lent, l'interface sera moins réactive donc il te faudra gérer dans un autre Thread que l'EDT ton initialisation (ou utiliser la classe SwingWorker).

    ça répond à ta question ?

Discussions similaires

  1. nombre de JPanel variable dans une JFrame
    Par ale2000 dans le forum Agents de placement/Fenêtres
    Réponses: 12
    Dernier message: 26/05/2008, 20h00
  2. Positionner précisement plusieurs JPanel dans une JFrame.
    Par RadicalBob dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 13/06/2006, 22h42
  3. un même JPanel dans deux JFrame
    Par blaise_laporte dans le forum Agents de placement/Fenêtres
    Réponses: 15
    Dernier message: 20/04/2006, 16h20
  4. Ajout de JPanel dans un JFrame
    Par Invité dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 13/04/2006, 12h22
  5. Gestion de menu, JPanels dans une JFrame
    Par Doc.Fusion dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 03/12/2004, 18h27

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