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

Interfaces Graphiques en Java Discussion :

GUI dynamique comme en PhP


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 19
    Points : 10
    Points
    10
    Par défaut GUI dynamique comme en PhP
    Salut,
    Je commence vraiment avec le JAVA et j'ai encore du mal à savoir ce qu'on peut faire ou pas...
    J'ai fait une premiére GUI qui gére un verin (avec bouton sortir, rentrer, allerVers) qui donnent des instruction à ma classe Verin qui commande le dit Verin.
    Seulement, J'ai mis tout ça dans un JFrame en suivant le cours du bouquin "think in JAVA" et maintenant, je voudrais faire que mon programme lise une "configuration" des Verins qui est dans une BDD MySQL (je sais faire...) et qui affiche dans le GUI une ligne de bouton pour chaque Vérin de la config.
    En fait, je voudrais que le GUI se construise lui même en fonction de ma liste de Vérins, comme on le ferait en PhP, avec une boucle for (...) {import ligne};
    Et comme ça, quelle que soit la longueur de la liste, ma GUI contient une ligne de boutons par Verins dans cette liste.
    Ce que je veux faire doit être possible mais je ne sais pas du tout dans quelle direction chercher...
    Pour l'instant, j'imagine que je dois créer une class 'LigneDeBouton" qui est un Jpanel et pas une Jframe et puis après, je fabrique une JFrame qui créé dynamiquement une instance de LigneDeBouton par Verin de la liste.
    Pouvez vous me donner un lien où une direction de recherche.
    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    C'est exactement ce que tu as dis :

    Il faut que tu parcours ta base de données et pour chaque verrin, tu créer un nouveau verrin et une ligne de boutons sur ton interface. N'oublie pas par contre de garder une référence des tes objets si tu en as besoin, dans une liste par exemple.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    Est ce que tu pourrais me dire en gros sur quel termes je dois faire une recherche pour voir comment faire ça ?
    Par rapport à la liste pour garder les références des objets, je peux pas juste rajouter une variable monVerin (au Jpanel ou à chaque bouton ?) qui stipulerai à mes appels de fonction sur quel verin elle doivent s'appliquer ?

  4. #4
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Citation Envoyé par JoGoiA
    Est ce que tu pourrais me dire en gros sur quel termes je dois faire une recherche pour voir comment faire ça ?
    Par rapport à la liste pour garder les références des objets, je peux pas juste rajouter une variable monVerin (au Jpanel ou à chaque bouton ?) qui stipulerai à mes appels de fonction sur quel verin elle doivent s'appliquer ?
    En fait pour garder une référence vers tes différentes Verrins, tu pourrais par exemple créer une ArrayList de verrin :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ArrayList<Verrin> verrins = new ArrayList<Verrin>();
    et ajouter chaque verrin dedans, ainsi tu auras toujours les verrins qui seront accessibles.

    Je vois pas trop par contre ou trouver des infos sur quelque chose comme ca...

    Mais bon, ca ferait quelques chose comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    parcours de tous les verrins de la base de données
    <div style="margin-left:40px">Création d'un nouveau verrin avec les infos trouvées
    Ajout du verrin dans la liste
    Affichage du verrin
    Affichage de sa propre liste de boutons (dont on garde une référence soit dans une liste soit dans la classe Verrin)</div>

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    En fait, j'ai bien compris la logique mais je cherche la syntaxe de la partie "Affichage du verrin" et "Affichage de sa propre liste de boutons"
    Comment faire for () {afficher un JPanel dans ma JFrame}
    Juste une piste pourrais suffire à diriger mes recherches

  6. #6
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for(int i = 0; i < 10; i++){
    JLabel label = new JLabel("Numéro " + i);
    contentPane.add(label);
    }
    C'est tout simple, ca va ajouter 10 labels dans ton ContentPane

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    PARFAIT !
    Je m'y mets direct.
    Je classe l'affaire en résolu.

    Merci

  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
    Sauf que le contentpane est par defaut en BorderLayout et qu'avec le code de wicht il vont tous se coller dans l'espace correspondant au BorderLayout.CENTER, donc il ne s'en affichera qu'un...

    Citation Envoyé par Wichtounet
    dont on garde une référence soit dans une liste soit dans la classe Verrin
    jolie petite horreur que tu nous dis là wicht, c'est faisable mais absolument pas recommandé de mélanger la couche métier et la vue
    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 à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    Jusque là, je mettais tout dans un ontentPane en null, avec des setBounds... J'aime bien tout controler... Je viens de Flash et le système de coordonnée m'est famillier, contrairement aux autres layout qui font un peu tout tout seuls...

    Quant à l'histoire de la liste de référence, ça me fait me dire qu'il faut pas que j'avance plus loin avant d'avoir assimiler certaine bases... Pour l'instant e avec les petits tests que j'ai fait (non "dynamique"), je m'en suis sortie sans listes mais je ne suis pas sûr de voir de quoi vous parlez.
    Mais ceci est une autre histoire...

    En tout cas, merci.

  10. #10
    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
    Dans ton cas tu tirerais grandement avantage à utiliser un GridLayout ou un BoxLayout qui feraient tout le travail de positionnement avantageusement. (Voire même du GridBagLayout ou du FormLayout si tu veux vraiment maîtriser les layout, ces deux derniers permettant à peu près tout et n'importe quoi au niveau design une fois maîtrisés correctement)
    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.

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 19
    Points : 10
    Points
    10
    Par défaut
    C'est clair qu'il faut que je tire avantage des subtilités de SWING mais en ce moment, mon cerveau est vraiment saturé de nouvelles infos. J'apprends tellement de truc que je préfére me cocentrer sur l'objectif à atteindre puis je remettrais surement deux ou trois couche d'amélioration quand je serais plus à l'aise.
    réussir, puis améliorer.

    Cependant, ces informations me serviront un jour, j'en suis sûr.

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

Discussions similaires

  1. Tableaux dynamiques comme en php
    Par artiom dans le forum Débuter
    Réponses: 9
    Dernier message: 23/03/2012, 13h46
  2. Nouvel extension a traiter comme du PHP
    Par TitAnz35 dans le forum Apache
    Réponses: 1
    Dernier message: 17/04/2007, 17h16
  3. App. avec un GUI dynamique
    Par Menara dans le forum MFC
    Réponses: 4
    Dernier message: 05/03/2007, 11h11
  4. [C# 2.0] Comment faire un include comme en php ?
    Par dymezac dans le forum ASP.NET
    Réponses: 4
    Dernier message: 22/09/2006, 11h37
  5. [Tableaux] CheckBox dynamique, possible en php?
    Par Gumpy dans le forum Langage
    Réponses: 5
    Dernier message: 07/02/2006, 11h46

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