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

avec Java Discussion :

Réalisation d'une IHM


Sujet :

avec Java

  1. #1
    Invité
    Invité(e)
    Par défaut Réalisation d'une IHM
    Bonjour à tous,

    Mon programme fonctionne bien sur le terminal cependant je dois réaliser une interface graphique pour celui-ci.

    J'ai une classe A (mère ) et une classe B (fille de A) et C (fille de A). Une classe Interface où j'ai commencé à réaliser une ihm.


    Ma classe Interface hérite déja de JFrame sauf que j'aimerais pouvoir récupérer les attributs de ma classe A et les methodes de mes classes B et C.

    En java on ne peut hériter de 2 classes, il me semble du coup je suis bloqué.

    Par exemple, dans ma classe C j'ai une une méthode retournant une liste que j'ai dans ma classe A. Et j'aimerais pouvoir l'afficher dans mon interface (panel 1)

    Merci d'avance
    Dernière modification par Invité ; 01/12/2020 à 10h06.

  2. #2
    Membre actif
    Profil pro
    aucune
    Inscrit en
    Juillet 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Juillet 2007
    Messages : 134
    Points : 281
    Points
    281
    Par défaut
    Pourquoi ne pas utiliser la composition ? Ta conception objet n'est pas correct c'est pour cela que tu sent un blocage...ton interface ne devrait pas contenir les données (la liste en question) mais plutôt faire appel à un service (ex ta classe A passée en paramètre) qui lui fournit ladite liste.

  3. #3
    Invité
    Invité(e)
    Par défaut
    C'est quoi la différence entre composition et héritage ?

    Effectivement la structure de mon programme ainsi que mes notions de POO sont faibles.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public class Historique extends SourcePlanification {
     
        public static ArrayList<?> testPlanification3(String date){ //historique des planifs
    Source = Ma classe A

    Historique = Ma classe C

    Par exemple, je veux que dans mon panel 1 de mon interface, on affiche ce que retourne ma méthode testPlanification3, je suis censé faire comment ?

  4. #4
    Membre actif
    Profil pro
    aucune
    Inscrit en
    Juillet 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Juillet 2007
    Messages : 134
    Points : 281
    Points
    281
    Par défaut
    La composition c'est le fait de créer un objet à l'intérieur d'un autre objet (en gros pour simplifier) et de pouvoir utiliser ses méthodes. C'est exactement ce que tu fait dans ta classe Interface avec les JMenu et autres composants Swing.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    public class Interface extends JFrame { private JMenuBar menuBar = new JMenuBar(); private JMenu menu = new JMenu("Fichier"); private JMenu menu_2 = new JMenu("Editier"); private JMenu menu_3 = new JMenu("Aide"); private JMenuItem menuItem = new JMenuItem("Panneau Suivant"); private SourcePlanification source; // TODO Constructeur public Interface(SourcePlanification source) { this.source = source; ListModel model = ....//a voir sur google pour créer un modèle à partir d'une List<> JList liste = new JList(model); this.panel1.add(liste);}

  5. #5
    Invité
    Invité(e)
    Par défaut
    Ok je vois mieux.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public static String testPlanification3(String date){ //historique des planifs
    Je return des getList du coup, il aime pas (erreur de compil). Si je change le type de la méthode en Arraylist, je peux plus utiliser JLabel car il prend en paramètre un string

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pan1.add(new JLabel(Historique.testPlanification3("2020-11-04")));

  6. #6
    Membre actif
    Profil pro
    aucune
    Inscrit en
    Juillet 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Juillet 2007
    Messages : 134
    Points : 281
    Points
    281
    Par défaut
    Si tu veux afficher une liste il est logique de ne pas passer par jlabel !!! Utilises jlist ça ira plus vite 😉

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 31/05/2011, 15h43
  2. Réaliser une IHM attrayante sans faire 10 ans de code
    Par Space23 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 26/03/2009, 22h55
  3. Comment réaliser une maquette d'une IHM?
    Par vonemya dans le forum Architecture
    Réponses: 5
    Dernier message: 14/09/2007, 15h45
  4. Réalisation d'une IHM
    Par beb30 dans le forum C
    Réponses: 2
    Dernier message: 15/03/2006, 14h49
  5. [Radio fréquence] réalisation d'une application
    Par WriteLN dans le forum Développement
    Réponses: 14
    Dernier message: 05/06/2003, 14h36

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